awk比較兩個文件的異同

1.同時在file1和file2中的行
awk '{if(ARGIND==1) {val[$0]}else{if($0 in val) print $0}}' file1 file2
2.只在file1中有的行.
awk '{if(ARGIND==1) {val[$0]}else{if($0 in val)  delete val[$0]}}END{for(i in val) print i}' file1 file2
其實也可以這樣:
awk 'ARGIND==1{a[$0]}ARGIND>1&&!($0 in a){print $0}' file1 file2

3.只在file2中有的行.
awk '{if(ARGIND==1) {val[$0]}else{if($0 in val)  delete val[$0]}}END{for(i in val) print i}' file2 file1

awk '{if(NR==FNR){val[$0]}else{if($1 in val) print $0}}' 70029  zhima

awk '{if(NR==FNR){val[$0]=$0}else{if($5 in val) {print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7"\t1"}else{print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7"\t0"}}}'  from data


4隨機選取文件的行數

shuf -n5  文件名


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