zoukankan      html  css  js  c++  java
  • 7.5

    1、awk

      awk可以分段进行匹配,如匹配文件中第一段保护root的所有行,并进行打印

      awk -F ':' '{print $1}' test.txt指定文件的分隔符为:,并将第一段打印出来

    awk -F ':' '{print $}' test.txt指定文件的分隔符为:,并将所有段打印出来,其中$0表示所有的段

      也可以使用awk '{print $0}' test.txt进行打印所有内容,相当于cat

      在不使用-F选项指定分隔符时,awk默认使用空格为分隔符

     awk -F ':' '{print $1,$3,$4}' test.txt,打印第1、3、4段

     

      awk ‘/oo/' test.txt打印文件中包含oo的行

      awk -F '$1 ~ /oo/' test.txt查找文件中第一段保护oo的行

      awk也支持正则表达式,如awk -F '$1 ~ /o+/' test.txt查找文件中所有包含o的行,在使用正则表达式时,不需要使用脱义字符

      awk也支持多个表达式同时写,awk -F ':' '/root/ {print $1,$3} /user/ {print $3,$4}' test.txt将文件中包含root的行打印第1、3段,包含user的打印第3、4段

      awk -F ':' '/root|user/ {print $0}' test.txt打印文件中所有包含root或user的行

      awk -F ':' ‘$3==0 {print $1}' test.txt查找文件中第三段等于0的行,并打印该行的第一段

      awk -F ':' ‘$3>=1000  {print $1}' test.txt查找文件中第三段大于等于1000的行,并打印该行的第一段

      awk -F ':' ‘$3>="1000" {print $0}' test.txt查找文件中第三段大于等于1000的行,此时的1000按照ASIC的方式进行大小排序,1000为字符串

      awk -F ':' ‘$7!="/sbin/nologin" {print $0}' test.txt查找文件中所有第七段不为/sbin/nologin的行

       awk -F ':' '$3<$4' test.txt查找文件中所有第三段小于第四段的行

       awk -F ':' '$3==$4' test.txt查找文件中所有第三段等于第四段的行

      awk -F ':' '$3>"5" && $3<"7" ' test.txt查找文件中第三段大于5小于7的行

      awk -F ':' '$3>1000 || $7=="/sbin/nologin" ' test.txt查找文件中第三段大于1000,第七段为/sbin/nologin的行

      awk -F ':' '$3>1000 || $7 ~/bash/ ' test.txt查找文件中第三段大于1000,且第七段包含bash的行

      OFS:指定打印时采用的分隔符

      awk -F ':' '{OFS='#'} $3>1000 || $7 ~/bash/ ' {print $1,$3,$7}' test.txt查找文件中第三段大于1000,且第七段包含bash的行,并打印第1、3、7行,每段之间采用#分隔符

      awk -F ':' '{OFS='#'} {$3>1000  {print $1,$2,$3,$4}' test.txt也可以采用if语句,查找文件中第三段大于1000的行,并打印该行的第1、2、3、4段,使用#作为分隔符

      awk -F ':' '{print NR  ":" $0}' test.txt 在打印文件内容时显示行号

    awk -F ':' '{print NF  ":" $0}' test.txt 在打印文件内容时显示每行有多少段

    awk -F ':' 'NR<=10' test.txt打印文件的前10行

    awk -F ':' 'NR<=10 && $1 ~/root|sync/' test.txt查找并打印前10行中,第一段包含root或sync的行

    awk -F ':' 'NF==6 && $1 ~/root|sync/' test.txt查找并打印文件中只有6段,且第一段中包含root或sync的行

    awk -F ':' ‘{print $NR ":" $NF}' test.txt

     

    head -n 3 /etc/passwd |awk -F ":' '$1="root' ':打印文件的前三行,并将每行的第一段赋值为root

    awk -F ":' '{(tot=tot+3)};END{print tot}' test.txt将文件中所有行的第三段相加,并打印最终的值

  • 相关阅读:
    PHPMailer邮件发送
    php 统计在线人数,今日访问量,总访问量
    php 首页定时生成静态页面
    jquery自动生成二维码
    php图片等比例缩放
    判断checkbox选中
    Pojo和JavaBean的区别
    Highcharts简单入门
    [转载]了解Activity工作流
    集群和分布式初探
  • 原文地址:https://www.cnblogs.com/w494129131/p/9261103.html
Copyright © 2011-2022 走看看