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}'
相关文章
相关标签/搜索