Anda dapat menggunakan grep -f
:
grep -Ff "first-file" "second-file"
ATAU yang lain untuk mencocokkan kata lengkap:
grep -w -Ff "first-file" "second-file"
PEMBARUAN: Sesuai komentar:
awk 'FNR==NR{a[$1]; next} ($1 in a){delete a[$1]; print $1}' file1 file2
Gunakan grep seperti ini:
grep -f firstfile secondfile
OPSI KEDUA
Terima kasih kepada Ed Morton karena telah menunjukkan bahwa kata-kata dalam file "reserved" diperlakukan sebagai pola. Jika itu menjadi masalah - mungkin atau tidak - OP mungkin dapat menggunakan sesuatu seperti ini yang tidak menggunakan pola:
Berkas "dicadangkan"
cat
dog
fox
dan file "teks"
The cat jumped over the lazy
fox but didn't land on the
moon at all.
However it did land on the dog!!!
Skrip awk seperti ini:
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
dengan keluaran:
The cat jumped over the lazy
fox but didn't land on the
However it did land on the dog!!!
OPSI KETIGA
Alternatifnya, ini bisa dilakukan dengan cukup sederhana, tetapi lebih lambat di bash:
while read r; do grep $r secondfile; done < firstfile
Bagaimana cara menentukan tanggal kedaluwarsa sertifikat SSL dari sertifikat yang disandikan PEM?
apa daemon dbus dan mengapa vlc membutuhkannya