awk命令

 1   cat /etc/passwd | awk -F ":" '{print $1}' 

        这里  -F “:”  是指以:来区分第几列,在/etc/passwd文件中,是以:区分的  ‘{print $1}‘是指执行的操作

        root
        bin
       daemon
       adm

      如果这里不加-F ":" 则会将一整行都打印出来。


  2    awk -F":"'/root/ {print $0; print $1 " " $7}'   /etc/passwd

        打印出所有包含root的行,并在第二回打印出用户名和shell类型。$0是打印整行。而不是单独打印一列。多个打印语句在一个{}里,要以分号隔开。

        root:x:0:0:root:/root:/bin/bash
        root /bin/bash
        operator:x:11:0:operator:/root:/sbin/nologin
        operator /sbin/nologin

3      awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。

        ps -ef | grep nginx | awk '{print $7}'      选取nginx进程的第七列

  

ps -ef 显示出的结果:
     1.UID       用户ID
     2.PID        进程ID
     3.PPID      父进程ID
     4.C           CPU占用率
     5.STIME     开始时间
     6.TTY         开始此进程的TTY----终端设备
     7.TIME       此进程运行的总时间
     8.CMD       命令名

 4      awk工作流程是这样的:先执行BEGING

                                             然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完

                                            最后执行END操作。

        ps -ef | grep nginx | awk 'BEGIN {print "UID,PPID"} {print $1 " " $3 };END{print "END"}' 


       

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱Go的小蚊子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值