我有一个包含以下内容的文本文件(实际文件包含数千行)
abcd
xyas
sasss
jddks
asa
sasa
lkkkss
asasd
我想要以下格式的输出。
abcd xyas sasss jddks
asa sasa lkkkss asasd
我怎样才能做到这一点?
答案1
如果您只想将每 4 行连接成一行,可以使用递归宏来完成:
ggqaqqa4Jj@aq@a
解释:
gg
转到文件开头qaq
清除寄存器中任何先前存储的宏a
qa
开始在寄存器中录制宏a
4J
将 4 行合并为 1 行j
往下走一行@a
让宏在寄存器中a
调用本身q
停止录音@a
调用寄存器中的宏a
,它将继续处理文件直到完成。
Perl 中的替代方案
perl -ni -e 'chomp;print $_, $.%4? " ":"\n"' your_file
参考