重新排列数字列表以形成矩阵

重新排列数字列表以形成矩阵

我正在尝试编写一个脚本来更改以下一组数字

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

有人可以帮助如何实现这一目标。

答案1

对于 *BSD's rs(1),假设输入文件格式良好:

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

答案2

纯粹的 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

相关内容