我有2個文件。 age2.txt & age3.txt
age2.txt如何使用awk比較和打印結果NR == FNR
a=30
b=23
c=33
d=43
e=75
age3.txt
a=30
b=26
c=33
d=44
e=75
我需要一個命令:
比較這兩個文件和
的第二列 如果找到匹配項,則將第一個文件(age2.txt)的行打印爲「已通過」或
打印第一個文件(age2.txt)的符合「失敗」,如果不匹配
預計輸出
a=30 passed
b=23 failed
c=33 passed
d=43 failed
e=75 passed
當我嘗試使用awk,我看到了我的「失敗」行重複兩個條件(通知書b = 23和d = 43,它重複..)
awk -F= 'NR==FNR{a[NR]=$2;next}a[FNR]!=$2 {print $line " Failed" ;} a[FNR]=$2 {print $line " Passed" ;}' age2.txt age3.txt
a=30 Passed
b=26 Failed
b=26 Passed
c=33 Passed
d=44 Failed
d=44 Passed
e=75 Passed
有人可以請幫助避免「失敗」線的重複?
預先感謝您:)
@ I'L'l謝謝!有效。你能否給我一個文檔鏈接,以便更好地理解NR == FNR? – Salih
@Salih:不客氣! –