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 , "\t", 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2019-01-30 1040 有几个PAT (25 分
2018-01-30 1009. 说反话 (20)