您能帮助我如何将每 4 个连续行转换为一个制表符分隔的列吗?
convert:
A
1
2
3
3
3
4
1
to :
A 1 2 3
3 3 4 1
执行此操作的一个简单方法是使用xargs
:
$ xargs -n4 < file
A 1 2 3
3 3 4 1
With awk
你会这样做:
$ awk '{printf "%s%s",$0,(NR%4?FS:RS)}' file
A 1 2 3
3 3 4 1
另一种灵活的方法是使用pr
:
$ pr -tas' ' --columns 4 file
A 1 2 3
3 3 4 1
这俩awk
and pr
可以轻松修改解决方案,将输出分隔符更改为TAB
:
$ pr -at --columns 4 file
A 1 2 3
3 3 4 1
$ awk '{printf "%s%s",$0,(NR%4?OFS:RS)}' OFS='\t' file
A 1 2 3
3 3 4 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)