awk中未初始化變量的值爲0或空白字符串" "
內置常量:
FS:輸入列分隔符
OFS:輸出列分隔符
FILENAME:文件名
1. 2個文件的去重並集
cat 1 2 | awk '!a[$0]++ {print $0}' (最強悍)
cat 1 2 | sort | uniq -u (數據量過大,容易出錯,不準確)
cat 1 2 | sort -u (坑:此方法比較脆弱,容易失效)
優先級: awk > sort+uniq > sort -u
2. 2個文件的交集
cat 1 2 | sort | uniq -d -c -c表示顯示重複次數
awk需要藉助:NR /FILENAME
3. 2個文件的連接
awk OFS="\t" 'NR==FNR{a[$1]=$2;} NR!=FNR && a[$1] {print $1,a[$1],$2,$3}' a.txt b.txt