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

正则表达式:awk

时间:2017-06-11 10:25:03      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:print   结束   等于   相加   sum   正则表达式   localhost   pre   roo   

[root@localhost ~]# awk -F ‘:‘ ‘{print $1}‘ 1.txt                       # 以冒号为分割符,打印出第一段
[root@localhost ~]# awk -F ‘:‘ ‘{print $1,$5}‘ 1.txt                    # 以冒号为分割符,打印出第一段和第五段
[root@localhost ~]# awk -F ‘:‘ ‘OFS="-" {print $1,$5}‘ 1.txt            # 以冒号为分割符,打印出第一段和第五段,并用‘-‘连接第一段和第五段
[root@localhost ~]# awk ‘/root/‘ 1.txt                                  # 匹配带有‘root‘的行
[root@localhost ~]# awk ‘$1~/root/‘ 1.txt                               # 匹配第一段中带有‘root‘的行
[root@localhost ~]# awk -F ‘:‘ ‘$1=="root"‘ 1.txt                       # 匹配第一段是‘root‘的行
[root@localhost ~]# awk -F ‘:‘ ‘$3>=500‘ 1.txt                          # 匹配第三段大于等于500的行,其他符号还有 > < >= <= !=
[root@localhost ~]# awk -F ‘:‘ ‘$3<$4‘ 1.txt                            # 匹配第三段小于第四段的行
[root@localhost ~]# awk -F ‘:‘ ‘$3=$4‘ 1.txt                            # 这里表示赋值,即把第四段的值赋给第三段
[root@localhost ~]# awk -F ‘:‘ ‘NR<10‘ 1.txt                            # NR 表示行,这里表示匹配行数小于 10 的行,即匹配 1-10 行
[root@localhost ~]# awk -F ‘:‘ ‘{if (NF==7) print $1}‘ 1.txt            # NF 表示段的数量,这里 NF==7 表示匹配有 7 段的行
[root@localhost ~]# awk -F ‘:‘ ‘{(sum=sum+$3)}; END {print sum}‘ 1.txt  # 求第三段的和,sum=sum+$3 表示循环相加第三段,END {print sum} 表示循环结束后打印 sum 的值
# $NR : 如果是第一行则 $NR==1 ,如果是第二行则 $NR==2 ,以此类推
# $NF :如果是第一段则 $NF==1 ,如果是第二段则 $NF==2 ,以此类推

 

 

 

 

    

正则表达式:awk

标签:print   结束   等于   相加   sum   正则表达式   localhost   pre   roo   

原文地址:http://www.cnblogs.com/pzk7788/p/6984153.html

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