我有2个文件,每个文件都有1000多行,
head file 1
3.3 6.6 10 0 0.6 0.33 "Ha1_00044004__C"
0 0 0 10 0 1 "Ha1_00043486__A"
3.3 6.6 10 0 0.6 0.3 "Ha1_00045379__C"
3 6 9 1 0.6 0.4 "Ha1_00045316__C"
head file 2
0 0 0 10 0 1 "Ha1_00043486__A"
0 0 0 10 0 1 "Ha1_00043840__A"
0 0 0 10 0 1 "Ha1_00043671__A"
0 0 0 10 0 1 "Ha1_00044403__A"
3.3 6.6 10 0 0.6 0.3 "Ha1_00045379__C"
3 6 9 1 0.6 0.4 "Ha1_00045316__C"
我只想保留 file1 中最后一列“不”与 file2 最后一列匹配的行。我将不胜感激任何帮助。
我想要的输出
3.3 6.6 10 0 0.6 0.33 "Ha1_00044004__C"
答案1
您可以创建一个以第一个文件的最后一个字段为键的关联数组(或哈希),然后检查第二个文件的最后一个字段是否不是有效键:
$ awk 'NR==FNR {a[$NF]++; next} !($NF in a)' file2 file1
3.3 6.6 10 0 0.6 0.33 "Ha1_00044004__C"
答案2
尝试:
grep -vf <(awk '{print $7}' < file2) file1