首页 > 代码库 > 正则表达式:awk

正则表达式:awk

[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