我有两个文件,正在尝试制作第三个。在 fileA 中,我有一个静态数字列表。在 fileB 中,我也有一个静态数字列表。我想使用 awk 从 fileB 中获取数字,通过 fileA 解析,然后创建一个 fileC。FileC 将是 fileA 忽略它从 fileB 看到的任何内容。
更多文件*
fileA
99882105030=10.10.2.3=
99882152121=10.10.2.3=
99882152122=10.10.2.3=
99882152123=10.10.2.3=
99882152124=10.10.2.3=
99882278940=10.10.2.3=
99882278969=10.10.2.3=
99883340691=10.10.2.3=
99883349708=10.10.2.3=
99883349755=10.10.2.3=
fileB (numbers that should be ignored)
99882105030
99882152121
99882152122
99882152123
fileC (file created from output of fileA and fileB)
99882278940=10.10.2.3=
99882278969=10.10.2.3=
99883340691=10.10.2.3=
99883349708=10.10.2.3=
99883349755=10.10.2.3=
到目前为止,我已经尝试过:
awk 'FNR==NR { a[$NF]; next } ($NF in a)' fileB fileA > fileC
没有运气。我知道我可以 grep -v -E "99882105030|99882152121" ... 心满意足,但是这个文件可能会变得非常大,我不想做一个 for 循环。有接盘侠吗?
perl -p -e 's:\n:\|:g' fileB |\
sed 's:^:grep -v -E ":g;s:|$:":g;s:$: fileA > fileC:g | sh
就是这么丑