统计机器中网络连接各个状态个数
root@darkstar:/usr/local# netstat -a | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
LISTEN 20
ESTABLISHED 38
SYN_SENT 1
TIME_WAIT 11
获取IP地址:
ifconfig eth0|sed -n 's#^.*addr:\([0-9].*\) Bca.*$#\1#gp'
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
理解awk 数组含义
[root@localhost my]# netstat | awk '{++ar["a"];++ar["b"]};END{ for(i in ar) print i,ar[i]}'
a 528
b 528
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
检索百分数:
sed 's/.*\s\([0-9]\+%\).*/\1/g'
grep -Po '\d+%'
使用到了正则表达式:
-P 使用perl扩展正则表达式
-o 只列出匹配项
\s 0到多个空格
+ 大于等于一个前导字符
\d 数字
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
awk 's/.*\s([0-9]+%).*/\1/'
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
取第2行道倒数第2行
sed '1d;$d' file.txt
sed -e '1d' -e '$d' file.txt
推广该种方法可以取任意几个区间行
awk sed 实际应用
最新推荐文章于 2021-02-24 22:09:49 发布