栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

假设输入在名为的文件中

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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号