shell 实现行转列、列转行的几种方法
awk
行转列
以空格为分隔符
awk -F "+" '{for(i=1;i<=NF;i++) a[i,NR]=$i}END{for(i=1;i<=NF;i++) {for(j=1;j<=NR;j++) printf a[i,j] " ";print ""}}' file`.txt
另外一种写法
awk '{for(i=0;++i<=NF;)a[i]=a[i]?a[i] FS $i:$i}END{for(i=0;i++<NF;)print a[i]}'
xargs
行转列
实际应用中,请将这里的x替换成文件的列数
cat file.txt|args -nx
tr
列转行
cat file.txt |tr "\n" ","|sed -e 's/,$/\n/'
本文介绍了使用Shell脚本中的awk、xargs和tr命令进行行转列和列转行的操作方法。通过示例展示了如何利用awk的数组功能实现行列转换,以及xargs和tr命令在特定场景下的应用。这些技巧在处理文本数据时非常实用。

1862

被折叠的 条评论
为什么被折叠?



