Můžete použít grep -f
:
grep -Ff "first-file" "second-file"
NEBO jinak, aby odpovídala celá slova:
grep -w -Ff "first-file" "second-file"
AKTUALIZACE: Podle komentářů:
awk 'FNR==NR{a[$1]; next} ($1 in a){delete a[$1]; print $1}' file1 file2
Použijte grep takto:
grep -f firstfile secondfile
DRUHÁ MOŽNOST
Děkuji Edu Mortonovi za upozornění, že se slovy v souboru „rezervováno“ se zachází jako se vzory. Pokud je to problém – může nebo nemusí být – OP může použít něco takového, co nepoužívá vzory:
Soubor "rezervováno"
cat
dog
fox
a soubor "text"
The cat jumped over the lazy
fox but didn't land on the
moon at all.
However it did land on the dog!!!
Skript Awk je takovýto:
awk 'BEGIN{i=0}FNR==NR{res[i++]=$1;next}{for(j=0;j<i;j++)if(index($0,res[j]))print $0}' reserved text
s výstupem:
The cat jumped over the lazy
fox but didn't land on the
However it did land on the dog!!!
TŘETÍ MOŽNOST
Případně to lze udělat docela jednoduše, ale pomaleji v bash:
while read r; do grep $r secondfile; done < firstfile
Jak určit datum vypršení platnosti certifikátu SSL z certifikátu kódovaného PEM?
co je dbus daemon a proč jej vlc potřebuje