AWK能否比Bashfor循环更快地转置这些数据?
创始人
2024-11-13 15:30:05
0

假设有以下数据:

1,2,3 4,5,6 7,8,9

方法一:使用Bash for循环进行转置

#!/bin/bash

IFS=, transpose="" while read -ra line; do for i in "${!line[@]}"; do transpose[$i]+=${line[$i]}, done done

for data in "${transpose[@]}"; do echo "${data%,}" done

输出:

1,4,7 2,5,8 3,6,9

方法二:使用awk进行转置

我们可以使用awk的内置函数来进行转置:

awk ' BEGIN { FS = ","; OFS = "," } { for (i=1; i<=NF; i++) { a[i,NR] = $i } if (NF>p) p=NF } END { for (j=1; j<=p; j++) { str=a[j,1] for (i=2; i<=NR; i++) { str=str OFS a[j,i]; } print str } }' data.txt

输出:

1,4,7 2,5,8 3,6,9

在此示例中,使用awk进行转置要更快,因为它是用C编写的。而Bash for循环比较慢,因为它是一种解释性语言。

相关内容

热门资讯

透视教学!hhpoker德州牛... 透视教学!hhpoker德州牛仔视频(透视)竟然真的有辅助app(有挂透明挂)-哔哩哔哩1、进入到h...
昨日!hhpoker有后台操控... 昨日!hhpoker有后台操控吗(透视)好像真的有辅助修改器(有挂教程)-哔哩哔哩1、进入到hhpo...
透视新版!we-poker软件... 透视新版!we-poker软件(透视)确实是真的辅助安装(有挂解惑)-哔哩哔哩1、操作简单,无需we...
截至发稿!智星菠萝有挂吗(透视... 截至发稿!智星菠萝有挂吗(透视)切实是有辅助修改器(有挂解密)-哔哩哔哩在进入智星菠萝有挂吗软件靠谱...
长期以来!wepoker的辅助... 长期以来!wepoker的辅助器(透视)竟然是有辅助安装(有挂规律)-哔哩哔哩1、不需要AI权限,帮...
截至目前!hhpoker脚本(... 截至目前!hhpoker脚本(透视)切实真的是有辅助神器(了解有挂)-哔哩哔哩hhpoker脚本透视...
据统计!wepoker私人局开... 据统计!wepoker私人局开挂视频(透视)原来真的是有辅助插件(有人有挂)-哔哩哔哩1、wepok...
围绕透视问题!约局吧是否有挂(... 围绕透视问题!约局吧是否有挂(透视)原来真的有辅助修改器(有挂技巧)-哔哩哔哩1、约局吧是否有挂破解...
近期!德州透视脚本(透视)本来... 近期!德州透视脚本(透视)本来是真的辅助软件(有挂总结)-哔哩哔哩1、每一步都需要思考,不同水平的挑...
目前!wepoker有机器人吗... 目前!wepoker有机器人吗(透视)真是是真的辅助平台(有挂工具)-哔哩哔哩1、金币登录送、破产送...