Menggunakan GNU di awkmana ia mendukung length(array)fitur spesifik (dan beberapa awkimplementasi lain yang dapat mendukung) dan tidak diperlukan jika file diurutkan.
gawk 'FNR==NR{seen[$0];next} ($0 in seen){delete seen[$0]};
END{print (!length(seen))?"Matched":"Not Matched"}' file2 file1
Ini membaca file2 ke dalam array yang disebut seendengan kunci sebagai seluruh baris file2 .
Lalu baca file1 dan untuk setiap baris jika cocok dengan garis dalam array yang terlihat kemudian hapus kunci itu.
Pada akhirnya jika array kosong berarti semua baris dalam file2 ada di file1 dan akan dicetak Matched, jika tidak akan ditampilkanNot Matched .
Untuk kompatibilitas di semua awkimplementasi.
awk 'FNR==NR{seen[$0];next} ($0 in seen){delete seen[$0]};
END{for(x in seen);print (!x)?"Matched":"Not Matched"}' file2 file1
Untuk mengabaikan baris kosong / atau baris dengan spasi putih hanya jika dalam file2 , Anda perlu menambahkan NFke kondisi di NR==FNR && NF {...untuk melewati membacanya ke dalam array.
file2berisi 2 barisA, apakah Anda perlufile1memuat minimal 2 barisA?