如何串联两行上指定的标识符?

如何串联两行上指定的标识符?,第1张

如何串联两行上指定的标识符?

假设输入在名为的文件中

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' fileL1_IWWPTHL1_IWWPT C-14WWPTH1        2        3
这个怎么运作
  • NR==1{for (i=1;i<=NF;i++) a[i]=$i;next}

对于第一行,将所有列标题保存在array中

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 "%st",a[i] $i;print"";next} 1' file


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存