使用Perl/AWK将两条连续线放入一条线

nev*_*int 4 unix linux perl awk text

我有如下数据:

abcd
join abcd
efgh
join efgh
Run Code Online (Sandbox Code Playgroud)

我想将两个连续的对加入一行.导致:

abcd join abcd
efgh join efgh
Run Code Online (Sandbox Code Playgroud)

我怎么能在Perl/AWK中做到这一点?

kev*_*kev 13

$ sed 'N;s/\n/ /' input.txt
abcd join abcd
efgh join efgh
Run Code Online (Sandbox Code Playgroud)

  • 这是如何运作的?我可以从sed手册中看到N命令将输入​​附加到模式空间; 似乎是一个命令分隔符.打印如何只发生在其他每一行? (4认同)

yaz*_*azu 7

最简单的方法是:

paste - - < FILE
Run Code Online (Sandbox Code Playgroud)

这使用空格而不是制表符连接:

paste -d" " - - < FILE
Run Code Online (Sandbox Code Playgroud)