我有 2 个具有不同列和长度的文件,我想将它们合并为下面给出的所需输出文件,请帮助!
文件1
aa
bb
cc
dd
文件2
ff , 2 , tg12
dd , 3 , tg13
gg , 4 , tg14
hh , 5 , tg15
aa , 6 , tg16
bb , 7 , tg17
cc , 8 , tg18
ii , 9 , tg19
所需输出
aa , 6 , tg16
bb , 7 , tg17
cc , 8 , tg18
dd , 3 , tg13
答案1
AWK
解决方案(按顺序排列sort
命令):
awk 'NR==FNR{ a[$1]; next }$1 in a' file1 FS='[[:space:]]*,[[:space:]]' file2 | sort
FS='[[:space:]]*,[[:space:]]'
- 设置的字段分隔符file2
输出:
aa , 6 , tg16
bb , 7 , tg17
cc , 8 , tg18
dd , 3 , tg13
答案2
我能想到的最简单的解决方案:
grep -f file1 file2 | sort