将每个两行序列重新格式化为两列

use*_*294 5 awk text-processing columns

我想标记我的打印输出:

1 2
3 4
5 6
7 8
Run Code Online (Sandbox Code Playgroud)

到

1 2 5 6
3 4 7 8
Run Code Online (Sandbox Code Playgroud)

如何使用简单的命令行(awk或sed)调整它??

dev*_*ull 6

一种方法是使用awk和paste:

paste -sd'\t' <(awk 'NR%2' inputfile) <(awk '!(NR%2)' inputfile)
Run Code Online (Sandbox Code Playgroud)

这个想法是分别获得奇数和偶数行以及paste那些。

对于您的输入,它会产生:

1 2 5 6
3 4 7 8
Run Code Online (Sandbox Code Playgroud)


Sté*_*las 6

与sed:

sed 'N;N;N;s/\n\(.*\)\n\(.*\n\)/ \2\1 /'
Run Code Online (Sandbox Code Playgroud)