zoukankan      html  css  js  c++  java
  • 三剑客

    awk

    格式:

    awk '{pattern + action}' {filenames}

    实例

    查看最近登录的5个用户

    [root@node1 ~]# last -n 5
    root     pts/6        10.0.0.20        Sun Aug 20 14:06 - 14:06  (00:00)    
    root     pts/6        10.0.0.20        Sun Aug 20 14:04 - 14:06  (00:01)    
    root     pts/6        10.0.0.20        Sun Aug 20 14:04 - 14:04  (00:00)    
    root     pts/0        10.0.0.1         Sun Aug 20 11:45 - 11:52  (00:06)    
    root     pts/1        10.0.0.1         Sun Aug 20 06:40   still logged in  

    如果只要显示最近登录的5个账号

    [root@node1 ~]# last -n 5 | awk '{print $1}'
    root
    root
    root
    root
    root

    显示/etc/passwd 的账号

    [root@node1 ~]# cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    只显示账号    -F后为分割符  默认为空格

    [root@node1 ~]# cat /etc/passwd | awk -F':' '{print $1}'
    root
    bin
    daemon
    adm
    lp

    显示第一行和第七行的信息

    [root@node1 ~]# cat /etc/passwd | awk -F':' '{print $1"	"$7}'
    root    /bin/bash
    bin    /sbin/nologin
    daemon    /sbin/nologin
    adm    /sbin/nologin
    lp    /sbin/nologin

    搜索/etc/passwd有root关键字的所有行

    [root@node1 ~]# awk -F: '/root/' /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    dockerroot:x:996:993:Docker User:/var/lib/docker:/sbin/nologin

    搜索/etc/passwd有root关键字的所有行中的shell

    [root@node1 ~]#  awk -F: '/root/{print $7}' /etc/passwd
    /bin/bash
    /sbin/nologin
    /sbin/nologin

    awk内置变量

    ARGC               命令行参数个数
    ARGV               命令行参数排列
    ENVIRON            支持队列中系统环境变量的使用
    FILENAME           awk浏览的文件名
    FNR                浏览文件的记录数
    FS                 设置输入域分隔符,等价于命令行 -F选项
    NF                 浏览记录的域的个数
    NR                 已读的记录数
    OFS                输出域分隔符
    ORS                输出记录分隔符
    RS                 控制记录分隔符

     

  • 相关阅读:
    var、let、const的区别
    StringBuilder/StringBuffer源码阅读笔记
    Java String类源码阅读笔记
    超过三十岁就不适合写代码了?看看国外程序员怎么说
    Kubernetes笔记(五):了解Pod(容器组)
    Java安全之Javassist动态编程
    Java安全之Commons Collections1分析(三)
    Java安全之Commons Collections1分析(二)
    Java安全之Commons Collections1分析(一)
    Java安全之URLDNS链
  • 原文地址:https://www.cnblogs.com/wanglan/p/7483088.html
Copyright © 2011-2022 走看看