我是初学者,所以感谢你的帮助。我想用shell脚本来做这件事。 我有一个看起来像这样的文件:
1
2
3
4
5
6
7
8
9
我想将其转换为:
1 2 3
4 5 6
7 8 9
它比那更大,所以我需要一些适用于长文件的泛型。
谢谢!
答案 0 :(得分:3)
备用awk解决方案
awk '{ORS = NR % 3 == 0?"\n":" ";} 1' input.txt
答案 1 :(得分:2)
这是一种方式:
awk 'NR%3!=0{printf "%s ",$1;next}1' inputFile
答案 2 :(得分:2)
您可以使用paste
执行此操作,例如:
seq 9 | paste - - - -d ' '
3个破折号有3列。您可以添加或删除短划线以包含更多或更少的列。
-d ' '
是按空格分隔列,因为默认为制表符。
答案 3 :(得分:2)
又一种可能性:
seq 9 | pr -atT -s' ' -3
答案 4 :(得分:1)
这样的东西?
$ seq 9 | sed 'N;N;s/\n/ /g'
1 2 3
4 5 6
7 8 9