shell中的(交集,並集,差集 等)統計

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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章