Text-Processing

重新排列數字列表以製作矩陣

  • January 2, 2017

我正在嘗試編寫一個腳本來更改以下一組數字

2.659980
3.256998
4.589778
2.120150

2.223365
2.325566
2.121112
3.020111

4.065112
0.221544
1.236665
1.395958

到以下形式(本質上是從一個由空行分隔的數字列表中製作一個矩陣)

2.659980    2.223365    4.065112
3.256998    2.325566    0.221544
4.589778    2.121112    1.236665
2.120150    3.020111    1.395958

有人可以幫助如何實現這一目標。

使用 *BSD’s rs(1),假設輸入文件格式正確:

rs -C -t $( awk '/^$/ { print NR-1; exit }' file ) <file

純粹的 awk 方法

awk '{a[NR%5]=a[NR%5] $0 " "}END{printf "%s\n%s\n%s\n%s\n",a[1],a[2],a[3],a[4]}' file

引用自:https://unix.stackexchange.com/questions/329728