以下是claim_note文件的内容
B|2050013344207770
B|2050013344157085
我的输入文件有值
B|2050013344207770|xxx|xxx
B|2050013344157085|xxx|xxx
B|2050013344157999|xxx|xxx
我使用下面的代码删除输入文件中的匹配行,但我的代码只删除了第一个匹配的模式
cat claim_note | while read FILE
do
echo $FILE
sed -n "/$FILE/!p" Input > TempInput
mv TempInput Input
done
答案 0 :(得分:1)
您可以使用awk
:
awk -F'|' 'FNR==NR{a[$1,$2]; next} !(($1,$2) in a)' claim_note Input
B|2050013344157999|xxx|xxx
答案 1 :(得分:0)
您可以使用此grep
:
grep -vf claim.txt input.txt
输出:
B|2050013344157999|xxx|xxx