linux 中 awk命令实现文件按列精确匹配合并

 

001、

复制代码
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
88 K
99 Y
42 C
[root@pc1 test01]# awk '{if(NR == FNR) {ay[$1] = $2} else {print $2, $1, ay[$2]}}' FS=":" a.txt FS=" " b.txt
A 100 10                 ## 一般输出
B 50 5
K 88
Y 99
C 42 12
[root@pc1 test01]# awk '{if(NR == FNR) {ay[$1] = $2} else if($2 in ay) {print $2, $1, ay[$2]}}' FS=":" a.txt FS=" " b.txt
A 100 10                 ##  精确输出
B 50 5
C 42 12
复制代码

。 

 

posted @   小鲨鱼2018  阅读(241)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-09-08 协方差
2022-09-08 相关系数
2022-09-08 R语言中 .Internal函数
2022-09-08 R语言中利用prcomp函数 对基因型数据进行PCA分析
2022-09-08 R语言中 dimnames 函数
2022-09-08 R语言中missing函数及其用法举例
2022-09-08 R中奇异值分解svd函数
点击右上角即可分享
微信分享提示