我是初学者,非常感谢您的帮助。我想用一个shell脚本来做到这一点。我有一个看起来像这样的文件:
1
2
3
4
5
6
7
8
9
我想将其转换为:
1 2 3
4 5 6
7 8 9
它比这更大,所以我需要一些适用于长文件的通用工具。
谢谢!
另一种 awk 解决方案
awk '{ORS = NR % 3 == 0?"\n":" ";} 1' input.txt
这是一种方法:
awk 'NR%3!=0{printf "%s ",$1;next}1' inputFile
您可以使用 来做到这一点paste
,例如:
seq 9 | paste - - - -d ' '
3个破折号有3列。您可以添加或删除破折号以增加或减少列。
是用-d ' '
空格分隔列,因为默认是制表符。
还有一种可能:
seq 9 | pr -atT -s' ' -3
像这样的东西?
$ seq 9 | sed 'N;N;s/\n/ /g'
1 2 3
4 5 6
7 8 9