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

awk命令笔记

时间:2015-02-28 16:46:26      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:start   换行符   

例子:

awk ‘{print $0}‘ passwd |tee haha

                                                                #将结果输出在终端,并保存到文件haha

awk ‘BEGIN{FS=":";OFS="/t";print "start..."}{sum+=1;print NR}END{print "total:" sum}‘ passwd

                                                                #输出每行行号,并统计行数,显示时以/t分隔

awk ‘NR==3{print $0}‘ passwd

                                                                #显示第三行

awk -F: ‘{print $NF}‘ passwd

                                                                #显示最后一列

awk -F: ‘$3 > 100{print $1 > "haha";print $0 }‘ passwd    

                                                                #将$3>100的$1重定向到haha,并显示$0

 

变量:

NR              当前处理的行数,如果处理的是多个文件,则统一计数(1-50)

FNR            当前处理的行数,如果处理的是多个文件,则每个文件分别计数(1-24,1-26)

NF               当前处理行的域数,即字段个数(一行)

RS               默认情况下awk是把一行看做一个记录,设置了RS就按照RS分割记录

ORS            输出记录分割符

ARGC         awk命令的参数个数

ARGV         将本条命令作为一个数组

                        [root@localhost ~]# awk -F: ‘END{print ARGV[0]}‘ passwd inittab
                        awk

                        [root@localhost ~]# awk -F: ‘END{print ARGV[1]}‘ passwd inittab
                        passwd

                        [root@localhost ~]# awk -F: ‘END{print ARGV[2]}‘ passwd inittab
                        inittab

ARGIND     当前被处理的文件的ARGV标示符,即数组下标

                   awk ‘{if(ARGIND==1){print "正在处理文件passwd"}if(ARGIND==2){print "正在处理文件inittab"}}‘ passwd inittab            ##显示当前正在处理的文件,文件处理顺序从前往后

FILENAME   当前处理的文件名

ENVIRON     查看当前shell环境变量及其值的关联数组

                 例子:  awk  ‘BEGIN{print ENVIRON["PATH"]}‘

本文出自 “一路向前” 博客,请务必保留此出处http://9541572.blog.51cto.com/9531572/1615921

awk命令笔记

标签:start   换行符   

原文地址:http://9541572.blog.51cto.com/9531572/1615921

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