我从输出中有2行,如下所示:
a b c
x y z
Run Code Online (Sandbox Code Playgroud)
我想将上一条命令中的两行都传送到一个脚本中,该脚本将它们“隔行扫描”,如下所示:
a x b y c z
Run Code Online (Sandbox Code Playgroud)
该解决方案应适用于输出中随机数的列,例如:
a b c d e
x y z x y
Run Code Online (Sandbox Code Playgroud)
应导致:
a x b y c z d x e y
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试使用awk,perl,sed等...,但是没有成功。我所能做的就是将输出放在一行中,但是不会“隔行扫描”:
$ echo -e 'a b c\nx y z' | tr '\n' ' ' | sed 's/$/\n/'
a b c x y z
Run Code Online (Sandbox Code Playgroud)
将奇数记录的字段保留在数组中,并使用它更新偶数记录的字段。这将交错输入中的每对连续行。
prog | awk 'NR%2{split($0,a);next} {for(i in a)$i=(a[i] OFS $i)} 1'
Run Code Online (Sandbox Code Playgroud)