常用shell

日志分组计数并排序

1
grep 'crawler_news_insert' stderr.log.2020-01-29-12 | awk '{print $2}' | awk -F':' '{cnt[$2]+=1}END{for(c in cnt){print c,cnt[c]}}' | sort -n -k 1

解除linux用户过期时间

1
chage -l li

nc传输文件

内网环境下可以使用nc来传输文件,使用内网带宽

在机器B开启端口监听,收取文件

1
nc -l 9999 > xxxx.zip

机器A发送文件,指定收取端(服务器端)的ip和端口

1
nc 192.168.1.3 9999 < xxxx.zip

复杂awk分词计数

1
2
3
4
5
6
# 
# 分离出每个接口每秒的请求次数、平均请求时间
grep "T07:30:" access_www.more.buzz.log access_www.morenews1.com.log | awk '{split($4, t, ":");split($6, a, "?");cnt[t[2]":"t[3]"\t"a[1]]+=1;times[t[2]":"t[3]"\t"a[1]]+=$NF}END{for(c in cnt){print c"\t"cnt[c]"\t"times[c]"\t"times[c]/cnt[c]}}'

# 时间正则匹配,统计大于10s的请求
grep '2020-05-22 11:11:[45]' access.log | awk '{if ($8 > 10000) { cnt[$5] += 1}}END{for(c in cnt){print c,cnt[c]}}'
作者

LePhee

发布于

2019-10-29

更新于

2020-08-21

许可协议

评论