• awk 例子


                   awk 例子                 

    打印本机swap分区总大小,格式如:Swap:1023M:

    free -m |awk '/Swap/{print $1,$2" M"}'

    将当前目录下大于10K的文件打印出来:

    ll | awk '{if($5>10240){print $NF}}' (1024代表字节)

     打印当前sshd的端口和进程id,格式如ssh:22  pid:1241:

    netstat -nltp | grep ssh |awk -F: '{print $2}'| grep -v "^$"|awk '{print "ssh:"$1}'

     如果能在变量a中匹配到10,就打印“OK”;

    awk 'BEGIN{a="100testaaa";if(a~/10/){print "Ok"}}' 
    Ok
    echo |awk 'BEGIN{a="100testaaa"}a~/100/{print "ok"}
    ok

    计算5+5=10

    [root@slavedb test]# awk 'BEGIN{a=5;a+=5;print a}'
    10
    [root@slavedb test]# awk 'BEGIN{a=5;a=a+5;print a}'   
    10

    计算,如果a>9就打印出来ok,如果a大于等于11,就打印出ok;

    awk 'BEGIN{a=11;if(a>9){print "ok"}}'  
    ok
    awk 'BEGIN{a=11;if(a>=11){print "ok"}}'

    三目运算,判断b,是否等于b;

    awk 'BEGIN{a="b";print a=="b"?"ok":"err"}'

    指定字段分隔符打印:

    [root@JXX-Tencent-Game1 ~]# cat tab.txt 
    aa                      bb      cc
    [root@JXX-Tencent-Game1 ~]# awk 'BEGIN{FS="	+"}{print $1,$2,$3}' tab.txt 
    aa bb cc

    以一个或多个空格,:为分隔符:

    awk -F[" ":]+ '{print $1,$2}' /etc/passwd

    打印出第七行:

    awk -F ":" 'NF==7{print $0}' /etc/passwd

    取ip,思路:第二行,第四个字段:

    ifconfig eth0 |awk -F["":] 'NR==2{print $4}'

    第一个字段是root的,全部打印出来:

    awk -F: '$1=="root"{print $0}' passwd

    第一个字段,并且第五个字段也是root,打印出来:

    awk -F: '($1=="root")&&($5=="root"){print $0}' passwd 

    统计磁盘可用空间使用率:

     df -h | grep sda1 | awk '{print $5}' | tail -1 | tr -d %
    19
  • 相关阅读:
    TOJ 2776 CD Making
    int型、long型和long long型
    Hadoop HA- hadoop集群部署
    大数据之路- Hadoop环境搭建(Linux)
    Hadoop HA- zookeeper安装配置
    Zookeeper- Error contacting service. It is probably not running解决方案和原理
    大数据- 自定义Log4j日记
    Hadoop- Hadoop环境搭建
    域名解析
    JAVA- JDBC之DBHelper
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/5521333.html
Copyright © 2020-2023  润新知