的fileA
232 com.path.class1
32 com.path.class2
123 com.path.class3
FILEB
675 com.path.class6
567 com.path.class2
657 com.path.class1
noLines(fileA)> noLines(FILEB)
我想从fileA中删除fileB中不存在第2列(包含类的列)的所有行
答案 0 :(得分:2)
关注awk
可能对您有帮助。
awk 'FNR==NR{a[$2];next} ($2 in a)' fileB fileA
如果您想将输出保存到Input_file,则文件A本身也会将> temp_file && mv temp_file fileA
附加到上面的代码中。
答案 1 :(得分:1)
with join
(期望文件被排序;所以排序)
$ join -j2 -o1.1,1.2 <(sort -k2 file1) <(sort -k2 file2)
232 com.path.class1
32 com.path.class2