我需要过滤掉第二个文件中的记录:
假设 file1 是这样的:
0006296 OIL FILTER PH3506 HONEYWELL Parts and Repair 3101
0015735 OIL FILTER PH2870 HONEYWELL Parts and Repair 3101
文件2将是:
0006296 OIL FILTER PH3506 HONEYWELL Parts and Repair 3101
0015735 OIL FILTER PH2870 HONEYWELL Automotive 4201
我如何过滤掉文件 2 中的第二行,因为它有一个匹配的第一列,但有一列与最后一列不匹配。
答案1
使用第一个和最后一个字段作为键应该足够了:
$ awk 'NR==FNR{a[$1"-"$NF]++;next}$1"-"$NF in a' file1 file2
0006296 OIL FILTER PH3506 HONEYWELL Parts and Repair 3101
我们用一些东西(在我的例子中是破折号)分隔这两个字段,以避免0006296 and 3101
与 00062963 and 101