Você pode usar:
grep -vFf file2 file1
Tenha em atenção que ainda elimina linhas, embora correspondam após a vírgula.
Eu sou muito novo no bash scripting e, portanto, qualquer ajuda seria muito apreciada. Abaixo está o que eu quero alcançar.
Eu tenho dois arquivos de texto. Eu quero excluir todas as linhas no primeiro arquivo onde ele corresponde a qualquer uma das minhas seqüências no segundo arquivo antes da vírgula.
por exemplo.
Arquivo 1:
this_is_a_test.txt,11dsdsdsdsd
this_is_a_test24.txt,545467ddd
this_is_a_test22,121244442
Arquivo 2:
this_is_a_test.txt
this_is_a_test24.txt
this_is_a_test22
Saída desejada: Em branco
Um truque simples de sed
pode fazer isso.
IFS='
' # If whitespaces exist in file 2
cat file2.txt | while read i; do
sed -i '/^'"$i"',/d' file1.txt
done
Tags text-processing