我输出了2个命令,如: 第一个cmd的操作:
A B
C D
E F
G H
第二个cmd的操作:
I J
K L
M B
我想合并两个输出,如果第二列中的值对于两个输出都相同,我将从第一个输出中获取入口集。 所以,我的输出应该是
A B
C D
E F
G H
I J
K L
//没有服用(M B)sice B已经存在于第一个条目(A B)中,因此优先考虑第一个输出
我可以使用shell脚本执行此操作,是否有任何命令?
答案 0 :(得分:3)
您可以使用awk:
awk 'FNR==NR{a[$2];print;next} !($2 in a)' file1 file2
A B
C D
E F
G H
I J
K L
答案 1 :(得分:1)
如果条目的顺序不重要,您可以在第二列sort
上使用uniquefy:
sort -u -k2 file1 file2
-u
和-k
都在the POSIX standard
如果file1的第二列中有重复的条目,则无效。