我需要comapre兩個文件f1.txt和f2.txt,並獲得匹配和非匹配,對於這種情況,我希望匹配兩個文件的第一個字段。首先打印f2.txt的第二個字段,然後打印整行f1.txt。並且在f2.txt中找不到找到匹配的「Not Found」,然後打印整行f1.txt。awk比較2個文件,打印匹配和區別
F1.txt
1;2;3;4;5;6;7;8
1a;2;3;4;5;6;7;8
1b;2;3;4;5;6;7;8
2b;2;3;4;5;6;7;8
F2.txt
1;First
1a;Firsta
1b;Firstb
所需的輸出:
First;1;1;2;3;4;5;6;7;8
Firsta;1a;1a;2;3;4;5;6;7;8
Firstb;1b;1b;2;3;4;5;6;7;8
Not Found;2b;2;3;4;5;6;7;8
我能夠獲得比賽,但不是非比賽
awk -F ";" -v OFS="";"" "NR==FNR{a[$1]=$2;next}a[$1]{print a[$1],$0}" f2.txt f1.txt
個
感謝
爲什麼OFS雙雙引號? –
@glennjackman我正在使用Windows Awk版本,這是雙引號的原因,問候 – Eduardo