码迷,mamicode.com
首页 > 其他好文 > 详细

awk

时间:2015-12-23 00:29:02      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

awk--行列处理
awk缺省的行分割符是换行,缺省的列分割符是连续的空格和Tab。

基本形式
awk option ‘script‘ file1 file2 ...
awk option -f scriptfile file1 file2 ...

script格式
/pattern/{actions}
condition{actions}
注:actions内应包含“;”。

自动变量$1,$2分别表示第一列、第二列等,类似shell脚本的位置参数,而$0标识整个当前行。
#awk ‘$2<75 {printf "%s\t%s\n:, $0, "REORDER";} $2>=75 {print $0;}‘ testfile

awk命令的condition部分还可以是两个特殊的condition-BEGIN和END。
对于每个待处理文件,BEGIN后面的actions在处理整个文件之前执行一次。
END后面的actions在处理整个文件后执行一次。

awk命令可以像C语言一样使用变量(但不需要定义变量),比如统计一个文件中的空行数
#awk ‘/^ *$/ {x=x+1;}  END {print x;}‘ testfile

awk常用的内建变量
FILENAME    当前输入文件的文件名,该变量是只读的
NR        当前行的行号,该变量是只读的,R代表record
NF        当前行所拥有的列数,该变量是只读的,F代表field
OFS        输出格式的列分割符,缺省是空格
FS        输入文件的列分割符,缺省是连续的空格和Tab。
ORS        输出格式的行分割符,缺省是换行符
RS        输入文件的行分割符,缺省是换行符。

打印系统中用户帐号列表
#awk ‘BEGIN {FS=":"} {print $1;}‘  /etc/passwd

awk

标签:

原文地址:http://www.cnblogs.com/embedded-linux/p/5068473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!