![重新排列数字列表以形成矩阵](https://linux22.com/image/100720/%E9%87%8D%E6%96%B0%E6%8E%92%E5%88%97%E6%95%B0%E5%AD%97%E5%88%97%E8%A1%A8%E4%BB%A5%E5%BD%A2%E6%88%90%E7%9F%A9%E9%98%B5.png)
我正在尝试编写一个脚本来更改以下一组数字
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