gpt4 book ai didi

bash - 将 2 行组合在一起但 "interlaced"

转载 作者:行者123 更新时间:2023-11-29 08:54:51 29 4
gpt4 key购买 nike

我有 2 行输出如下:

a b c
x y z

我想将最后一个命令的两行通过管道传输到一个脚本中,该脚本将它们“交错”组合在一起,如下所示:

a x b y c z

该解决方案应该适用于输出中的随机列数,例如:

a b c d e
x y z x y

应该导致:

a x b y c z d x e y

到目前为止,我已经尝试使用 awk、perl、sed 等...但没有成功。我所能做的就是将输出放在一行中,但它不会“交错”:

$ echo -e 'a b c\nx y z' | tr '\n' ' ' | sed 's/$/\n/'
a b c x y z

最佳答案

将奇数记录的字段保存在一个数组中,并使用它更新偶数记录的字段。这将交错输入中的每对连续行。

prog | awk 'NR%2{split($0,a);next} {for(i in a)$i=(a[i] OFS $i)} 1'

关于bash - 将 2 行组合在一起但 "interlaced",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57663951/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com