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

 

001、 方法1

复制代码
[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk -F "[: ]" '{if(NR == FNR) {ay[$1] = $2} else {print $2, $1, ay[$2]}}' a.txt b.txt
A 100 10
B 50 5
C 42 12
复制代码

 

002、

复制代码
[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk -F "[: ]" '{if(NR == FNR) {ay[$1] = $2; next} {print $2, $1, ay[$2]}}' a.txt b.txt
A 100 10
B 50 5
C 42 12
复制代码

 

003、方法3

复制代码
[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk -F "[: ]" 'NR == FNR {ay[$1] = $2; next} {print $2, $1, ay[$2]}' a.txt b.txt
A 100 10
B 50 5
C 42 12
复制代码

 

004、方法4

复制代码
[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk '{if(NR == FNR) {FS = ":"; $0 = $0; ay[$1] = $2} else { FS = " "; $0 = $0; print $2, $1, ay[$2]}}' a.txt b.txt
A 100 10
B 50 5
C 42 12
复制代码

 

005、方法5

复制代码
[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk 'NR == FNR {ay[$1] = $2; next} {print $2, $1, ay[$2]}' FS=":" a.txt FS=" " b.txt
A 100 10
B 50 5
C 42 12
复制代码

 

006、方法6

复制代码
[root@pc1 test01]# ls
a.txt  b.txt
[root@pc1 test01]# cat a.txt
A:10
B:5
C:12
[root@pc1 test01]# cat b.txt
100 A
50 B
42 C
[root@pc1 test01]# awk '{if(NR == FNR) {split($0, a, ":"); ay[a[1]] = a[2]} else {print $2, $1, ay[$2]}}' a.txt b.txt
A 100 10
B 50 5
C 42 12
复制代码

 .

 

posted @   小鲨鱼2018  阅读(1344)  评论(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函数
点击右上角即可分享
微信分享提示