• Linux三剑客-awk


    awk 是Linux中强大的数据处理工具

    awk 的变量
        NR 记录数,行数
        NF 域数,列数 $NF最后一列
        OFS 结果分隔符,默认空格
        FS 条件分隔符
        RS 记录分隔符默认空格
        
    -F    指定分隔符默认是空格
        awk -F '	' '{print $1}'     指定分隔符为tab并打印第一列
    
    awk 'BEGIN {FS=","} {print $1}'    指定分隔符为 , 并打印第一列
        FS=',+' 分隔符为一个或多个 , 至少一个 ,
        
    awk 'BEGIN {FS=':'} $1~/admin/' passwd.txt    匹配第一列是admin的行
    
    awk 'BEGIN {FS=":"} $0~/admin/' passwd.txt    匹配全域有admin的行
    
    awk 'BEGIN {FS=":"} $0!~/admin/' passwd.txt    全部区域都不匹配
    
    awk 'BEGIN {FS=":"} {if ($3>$4) print $0}' passwd.txt 打印第三列大于第四列的行
    
    awk 'BEGIN {FS=":"} {if ($3==10 || $4==10) print $0}' passwd.txt 打印第三域或第四域为10的行
    
    awk 'BEGIN {FS=":"} {if ($3~10 || $4~10) print $0}' passwd.txt 打印第三域或第四域包含'10'的行
    
    awk '/^$/ {print s+=1}' passwd.txt 匹配空白行从1到n,s默认从0开始
    
    awk 'BEGIN {FS=":"} {printf("%s	 %d
    ", $1, $4)}' passwd.txt 格式化打印(printf 类似C语言中)
    
    last | awk '{FS="	"} {S[$3]++} END{for(a in S ) {print S[a],a}}' |uniq| sort -rh 查看最近登录最多的IP信息
    
    awk -F: '{count++;} END{print count}' /etc/passwd    打印用户数量
  • 相关阅读:
    SQL语句汇总——数据修改、数据查询
    Spring AOP详解
    action类中属性驱动和模型驱动的区别
    数组指针的用法,用处。
    C,C++回文字符串判断(字符串指针的用法)
    C,C++容易被忽略的问题
    c,c++函数返回多个值的方法
    adsf
    Establishing a Build Environmen
    Setting up a Mac OS build environment
  • 原文地址:https://www.cnblogs.com/imlifelong/p/11516439.html
Copyright © 2020-2023  润新知