测试文件:

1 2 3 4

5 6 7 8

9 10 11 12

转置后效果

1 5 9
2 6 10
3 7 11
4 8 12
代码名:transpose内容如下:

 
  
  1. #! /bin/bash 
  2. exec awk ' 
  3. NR == 1 { 
  4.     n = NF 
  5.     for (i = 1; i <= NF; i++) 
  6.         row[i] = $i 
  7.     next 
  8.     if (NF > n) 
  9.        n = NF 
  10.     for (i = 1; i <= NF; i++) 
  11.         row[i] = row[i] " " $i 
  12. END{ 
  13.    for (i = 1; i <= n; i++) 
  14.         print row[i] 
  15. }' ${1+"$@"} 

文件名为:test

#chmod u+x transpose

#./transpose test