awk學習總結
AWK 是一種處理文本文件的語言运准,是一個強大的文本分析工具鲤屡。
之所以叫 AWK 是因為其取了三位創(chuàng)始人 Alfred Aho楷拳,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。
BEGIN關鍵字
在處理數(shù)據(jù)前運行一些腳本命令
awk 'BEGIN{print "The data3 File Contents:"}{print $0}' data.txt
END關鍵字
在讀完數(shù)據(jù)后執(zhí)行的內容
awk 'BEGIN{print "The data3 File Contents:"}{print $0}END{print "End of File"}' data.txt
內置變量
FILENAME:當前文件名
FS:字段分隔符,默認是空格和制表符憨栽。
RS:行分隔符,用于分割每一行翼虫,默認是換行符屑柔。
OFS:輸出字段的分隔符,用于打印時分隔字段珍剑,默認為空格掸宛。
ORS:輸出記錄的分隔符,用于打印時分隔記錄招拙,默認為換行符唧瘾。
OFMT:數(shù)字輸出的格式,默認為%.6g别凤。
常見參數(shù)
- -F fs or --field-separator fs
指定輸入文件折分隔符饰序,fs是一個字符串或者是一個正則表達式,如-F:规哪。
awk -F ':' '{print $1}'
- 變量NF表示當前行有多少個字段求豫,因此$NF就代表最后一個字段。
? ~ echo 'this is a test' | awk '{print $NF}'
test
? ~ echo 'this is a test' | awk '{print NF}'
4