shell 实现行转列、列转行的几种方法

目录

  • shell 实现行转列、列转行的几种方法
    • awk
      • 行转列
    • xargs
      • 行转列
    • tr
      • 列转行
      • 参考资料

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++ 

xargs

行转列

实际应用中,请将这里的x替换成文件的行数

cat file.txt|args -nx

tr

列转行

cat file.txt |tr "\n" ","|sed -e 's/,$/\n/'

参考资料

你可能感兴趣的:(Linux系统,shell,awk)