• awk命令使用


    环境:centos7

    1、awk直接筛选列

    [sanhlt@k8s-master ~]$ free -g
                  total        used        free      shared  buff/cache   available
    Mem:              3           1           1           0           0           1
    Swap:             0           0           0
    [sanhlt@k8s-master ~]$ free -g|awk '{print $2}'
    used
    3
    0
    

    2、awk筛选字段并输出列值(查询文本 /proc/meminfo中MemTotal的第二列)

    [sanhlt@k8s-master ~]$ cat /proc/meminfo|grep MemTotal
    MemTotal:        3882032 kB
    [sanhlt@k8s-master ~]$ awk '/MemTotal/{print $2}' /proc/meminfo
    3882032
    

    3、可以对筛选的值做赋值运算(将结果赋值给total)注意:END必须大小

    [sanhlt@k8s-master ~]$ awk '/MemTotal/{total=$2}END{print total}' /proc/meminfo
    3882032
    

    4、可以进行精确匹配进行筛选(awk取以Cache开头的字段 ,使用符号^开头

    [sanhlt@k8s-master ~]$ cat /proc/meminfo |grep Cached
    Cached:           415684 kB
    SwapCached:            0 kB
    [sanhlt@k8s-master ~]$ cat /proc/meminfo |grep Cached|awk '/^Cached/{print $2}'
    415848
    

    5、可以将结果进行计算输出(计算服务器剩余内存,计算应用可以使用的内存)

    [sanhlt@k8s-master ~]$ awk '/MemTotal/{total=$2}/MemFree/{free=$2}END{print (total-free)/1024}' /proc/meminfo
    2075.58
    [sanhlt@k8s-master ~]$ awk '/MemTotal/{total=$2}/MemFree/{free=$2}/^Cached/{cache=$2}/Buffers/{buffer=$2}END{print (total-free-cache-buffer)/1024}' /proc/meminfo
    1595.87
    

      

      

      

      

      

    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    语音信号端点检测
    WEBPACK & BABEL 打包项目
    使用 Qt 获取 UDP 数据并显示成图片(2)
    QSS为Qt程序添加不一样的样式
    window 搜索大文件
    Idea java 编译发生 cannot find symbol
    JetBeans Tab键相关设置
    JetBean Rider 重命名 c# 程序集名
    Unity 导入其他工程
    列出当前文件夹下的以log结尾的文件名
  • 原文地址:https://www.cnblogs.com/wukc/p/14615906.html
Copyright © 2020-2023  润新知