Вы можете попробовать что-то вроде
#!/bin/bash
cat file2.txt | while IFS=, read line; do
sed -i "/$(grep $line file1.txt)/d" file1.txt
done
Имейте в виду, что sed -i
внесет прямые изменения в файл file1.txt, но вы можете изменить команду на sed -i.ibk
, чтобы сохранить резервную копию исходного файла.
Например
$cat file2.txt
1.1.1.1
7.7.7.7
$cat file1.txt
1.1.1.1,string1,comment1
7.7.7.7,string3,comment3
2.2.2.2,string2,comment2
88.88.88.88,string4,comment4
999.999,999,999,string5,comment5
output
2.2.2.2,string2,comment2
88.88.88.88,string4,comment4
999.999,999,999,string5,comment5