awk是linux系統中非常強大的文本分析工具,經常用於提取文本中的信息並進行格式化處理。awk的名字也十分有趣,取自三位創始人Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的首字母。
awk語法
awk [參數] [腳本文件或者腳本代碼] 文件(或者從管道中讀取)awk一般會對輸入的文本逐行(因為輸入記錄的分隔符默認是換行)執行腳本做處理。awk參數
Begin End模塊
awk會在處理文本之前首先執行Begin模塊,在這裡我們可以初始化一些變量值,接著執行腳本代碼,最後執行End模塊。awk邏輯運算符
awk中絕大多數的邏輯運算符都與C語言的相同,在這裡列出幾個特殊且常用的。
+-*/awk內置變量
awk命令中經常使用的內置的變量,其他還有很多,需要的時候可以自查。$0例題:
代碼:
awk '{ for(i=1;i<=NF;i++){ if(NR==1){ res[i]=$i }else{ res[i]=res[i]" "$i } }}END{ for(j=1;j<=NF;j++){ print res[j] }}' file.txt