加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

一种在Bash中转置文件的有效方法

发布时间:2020-12-15 16:45:48 所属栏目:安全 来源:网络整理
导读:我有一个巨大的制表符分隔的文件格式化这样 X column1 column2 column3row1 0 1 2row2 3 4 5row3 6 7 8row4 9 10 11 我想使用只有bash命令(我可以写一个十行左右的Perl脚本,这样做,但它的执行速度比本机bash函数)更有效的方式转置它。所以输出应该是这样 X
我有一个巨大的制表符分隔的文件格式化这样
X column1 column2 column3
row1 0 1 2
row2 3 4 5
row3 6 7 8
row4 9 10 11

我想使用只有bash命令(我可以写一个十行左右的Perl脚本,这样做,但它的执行速度比本机bash函数)更有效的方式转置它。所以输出应该是这样

X row1 row2 row3 row4
column1 0 3 6 9
column2 1 4 7 10
column3 2 5 8 11

我想到这样的解决方案

cols=`head -n 1 input | wc -w`
for (( i=1; i <= $cols; i++))
do cut -f $i input | tr $'n' $'t' | sed -e "s/t$/n/g" >> output
done

但它很慢,似乎不是最有效的解决方案。我在this post看到了一个解决方案vi,但它仍然过慢。任何想法/建议/辉煌的想法?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读