awk命令

awk命令函數

1)概念:一個強大的文本分析工具,awk把文件逐行地讀入,以空白字符爲默認分隔符將每行進行切片,而後對這些切片進行分析和處理。


2)說明:

	1)awk會針對文件(或數據流)中的每行文本執行程序腳本。
	2)每行文本中,數據切片是經過分隔符進行劃分的,分隔符默認爲:任意的空白字符(空格或製表符)。
	3)awk在讀取一行文本時,會用分隔符將每行數據進行切片,並自動給一行中的每一個數據切片分配一個變量:
		$0 表明整個文本行
		$1 表明文本行中的第1個數據切片
		$2 表明文本行中的第2個數據切片
		$n 表明文本行中的第n個數據切片
		
		$NF 表明文本行中最後的那個數據切片
			
			
3)格式:

	awk [參數] 'awk程序腳本' filename

	
4)參數:

	-F 分隔符
	# awk -F ':' 指定分隔符爲冒號

	
5)函數:

	print:打印數據
		1)參數能夠是變量、數值、字符串
		2)字符串必須用雙引號包起來,參數用逗號分隔。
	
6)舉例:

	awk '{print $2$3$4$5}' dumpFile1
	# 大括號{}	用於根據特定的模式(pattern)對一系列的指令(action)進行分組。

	grep getXxx catalina.out.2000-05-16 | grep delay | awk -F '\\|\\|' '{print $3 "--" $9}'
	
	
7)經常使用:

	# 求最大值
	.. | awk 'BEGIN {max = 0} {if ($1 > max) max=$1} END {print "Max=", max}'
	# 求最小值
	.. | awk 'BEGIN {min = 1000000} {if ($1 < min) min=$1} END {print "Min=", min}'
	# 求平均值	注:NR表示awk開始執行程序後所讀取數據的行數
	.. | awk '{sum+=$1} END {print "Avg=", sum/NR}'
相關文章
相關標籤/搜索