gpt4 book ai didi

python - 如何连接两行上指定的标识符?

转载 作者:行者123 更新时间:2023-12-01 04:58:20 25 4
gpt4 key购买 nike

输入其中标识符由两行1-2指定

L1_I                L1_I                C-14               <---|  unique idenfier 
WWPTH WWPT WWPTH <---| on two rows
1 2 3

目标:如何连接行?

L1_IWWPTH           L1_IWWPT            C-14WWPTH          <--- unique identifier
1 2 3

P.s.我会接受最简单、最优雅的解决方案。

最佳答案

假设输入位于名为 file 的文件中:

$ awk 'NR==1{for (i=1;i<=NF;i++) a[i]=$i;next} NR==2{for (i=1;i<=NF;i++) printf "%-20s",a[i] $i;print"";next} 1' file
L1_IWWPTH L1_IWWPT C-14WWPTH
1 2 3

它是如何工作的

  • NR==1{for (i=1;i<=NF;i++) a[i]=$i;next}

    对于第一行,将所有列标题保存在数组 a 中。然后,跳过其余命令并跳转到下一行。

  • NR==2{for (i=1;i<=NF;i++) printf "%-20s",a[i] $i;print"";next}

    对于第二行,打印所有列标题,并将第一行和第二行中的标题合并在一起。然后,跳过其余命令并跳转到下一行。

  • 1

    1是 awk 的神秘简写,用于按原样打印该行。对秒后的所有行都执行此操作。

制表符分隔的列,可能缺少列

如果列以制表符分隔:

awk -F'\t' 'NR==1{for (i=1;i<=NF;i++) a[i]=$i;next} NR==2{for (i=1;i<=NF;i++) printf "%s\t",a[i] $i;print"";next} 1' file

关于python - 如何连接两行上指定的标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26857467/

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