मान लें कि आपके पास फ़ाइलें a.txt और b.txt साथ हैं
cat a.txt
a
b
c
d
1
3
5
cat b.txt
a
1
2
6
7
ध्यान रखें एनआर और एफएनआर अंतर्निहित वैरिएबल हैं। एनआर - संसाधित किए गए रिकॉर्ड की कुल संख्या देता है। (इस मामले में a.txt और b.txt दोनों में) FNR - प्रत्येक इनपुट फ़ाइल के रिकॉर्ड की कुल संख्या देता है (रिकॉर्ड में या तो a.txt या b.txt)
awk 'NR==FNR{a[$0];}{if($0 in a)print FILENAME " " NR " " FNR " " $0}' a.txt b.txt
a.txt 1 1 a
a.txt 2 2 b
a.txt 3 3 c
a.txt 4 4 d
a.txt 5 5 1
a.txt 6 6 3
a.txt 7 7 5
b.txt 8 1 a
b.txt 9 2 1
एनआर == एफएनआर के साथ पहले मिलान को छोड़ने के लिए "अगला" जोड़ें
b.txt में और a.txt में
awk 'NR==FNR{a[$0];next}{if($0 in a)print FILENAME " " NR " " FNR " " $0}' a.txt b.txt
b.txt 8 1 a
b.txt 9 2 1
b.txt में लेकिन a.txt में नहीं
awk 'NR==FNR{a[$0];next}{if(!($0 in a))print FILENAME " " NR " " FNR " " $0}' a.txt b.txt
b.txt 10 3 2
b.txt 11 4 6
b.txt 12 5 7
awk 'NR==FNR{a[$0];next}!($0 in a)' a.txt b.txt
2
6
7
a==b
औरb==a
एक ही परिणाम का उत्पादन किया?