• shell编程题(二十七)


    题目:

      查看TCP连接状态

    答案:

    完整答案:

    netstat -nat | grep tcp | awk '{print $6}' | sort | uniq -c | sort -rn

    分步一:

    分步二:

    netstat -nat | grep tcp | awk '{print $6}' 

     

    分步三:

    答案二:

    netstat -n | awk '/^tcp/ {print $NF}' | sort | uniq -c | sort -rn

    解析:

     awk '/^tcp/ {print $NF}'

    awk中的命令格式

    /pattern/{actions}

    pattern是正则表达式,actions是一系列操作

    awk程序一行一行读出待处理文件,如果某一行与pattern匹配,或者满足condition条件,则执行相应的actions,如果一条awk命令只有actions部分,则actions作用于待处理文件的每一行。

    NF表示numbers of field ,是获取的文件的成员数,默认是空格分开的。

    例如 获取的文件内容是 hello world ,那么NF就是2.

    print $NF 的意思就是获取打印获取文件的最后一行(以空格为分割线)

    答案三:

    netstat -n | awk '/^tcp/ {++arr[$NF]}; END {for (k in arr) print k , "	", arr[k] }'

    其中 ++arr[$NF]

    这类似与C++中的 map

    例如 文件内容为 hello world hello

    那么这这句的执行结果以后就是

    arr["hello"] = 2

    arr["world"] = 1

    整体的功能意思就是说,统计最后一项 state 的状态数,然后加起来

    答案四:

    netstat -ant | awk '{print $NF}' | grep -v '[a-z]' |  uniq -c | sort -rn

  • 相关阅读:
    C#多线程编程实战(一):线程基础
    查找算法之顺序查找
    设计模式01 创建型模式
    查找算法之二分查找
    设计模式01 创建型模式
    每天学一个,设计模式概要
    设计模式 01
    汽车电子传感器科普:激光雷达 毫米波雷达 超声波雷达
    C 如何判断编译器是否支持C90 C99?
    Node.js之EventEmiter
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/12243239.html
Copyright © 2020-2023  润新知