之間匹配兩個字段,試圖將字段1,3與另一個文件中的字段1,2和第二個文件的打印行匹配。第一個文件是製表符分隔,第二個文件是csv分隔符。意外的令牌錯誤?
文件1在兩個文件AWK
1 x 12345 x x x
文件2
1,12345,x,x,x
腳本
awk -F',' FNR==NR{a[$1]=$1,$3; next} ($1,$2 in a) {print}' file1 file2 > output.txt
之間匹配兩個字段,試圖將字段1,3與另一個文件中的字段1,2和第二個文件的打印行匹配。第一個文件是製表符分隔,第二個文件是csv分隔符。意外的令牌錯誤?
文件1在兩個文件AWK
1 x 12345 x x x
文件2
1,12345,x,x,x
腳本
awk -F',' FNR==NR{a[$1]=$1,$3; next} ($1,$2 in a) {print}' file1 file2 > output.txt
你幾乎釘吧!
awk 'NR==FNR{first[$1]=$3;next} $1 in first{if(first[$1]==$2){print}}' file1 FS="," file2
輸出
1,12345,x,x,x
注意
FS的切換爲優等。 ;) –
我借用了[\ [this \]](http://stackoverflow.com/a/24517482/1620779)答案。 – sjsam
仍然有問題...我需要添加-F','參數嗎? – mxttgen31