awk處理多個文件


awk處理文件。本質上是把一個文件看成一個類似excel的文本表格。

awk處理多個文件。本質上是把某些需要查詢的表格,先保存在關聯數組裏面。以待查詢。


舉例:


文件1

file1

sina.com 52.5
sohu.com 42.5
baidu.com 35


文件2

file2

www.news.sina.com sina.com 80
www.over.sohu.com baidu.com 20
www.fa.baidu.com sohu.com 50
www.open.sina.com sina.com 60
www.sport.sohu.com sohu.com 70
www.xxx.sohu.com sohu.com 30
www.abc.sina.com sina.com 10
www.fa.baidu.com baidu.com 50
www.open.sina.com sina.com 60
www.over.sohu.com sohu.com 20


存儲表格1

awk '{ta[$1]=$2} END{ for(k in ta){print k, ta[k]}}' file1


sohu.com 42.5
sina.com 52.5
baidu.com 35


查詢表格1,處理多文件


awk 'FNR==NR{ta[$1]=$2} NR>FNR{print $0, ta[$2]} ' file1 file2 


www.news.sina.com sina.com 80 52.5
www.over.sohu.com baidu.com 20 35
www.fa.baidu.com sohu.com 50 42.5
www.open.sina.com sina.com 60 52.5
www.sport.sohu.com sohu.com 70 42.5
www.xxx.sohu.com sohu.com 30 42.5
www.abc.sina.com sina.com 10 52.5
www.fa.baidu.com baidu.com 50 35
www.open.sina.com sina.com 60 52.5
www.over.sohu.com sohu.com 20 42.5

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