我必须这样的文件:
File1中:
id1 junk junk junk
id2 junk junk junk
id3 junk junk junk
id4 junk junk junk
文件2:
id2
id3
如何从File1中删除在File2中具有id的2行。所以输出将是
id1 junk junk junk
id4 junk junk junk
谢谢
答案 0 :(得分:2)
使用awk你可以这样做:
awk 'FNR==NR{a[$1]; next} !($1 in a)' file2 file1
id1 junk junk junk
id4 junk junk junk
或使用grep -v
进行流程替换:
grep -vf <(sed 's/.*/^&[[:blank:]]/' file2) file1
id1 junk junk junk
id4 junk junk junk
答案 1 :(得分:2)
您可以告诉grep从file2
中排除所有内容grep -vf file2 file1