實現矩陣的轉置

測試文件:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章