nber1994



os-文本处理

August 9, 2019

os-文本处理

统计日志中出现最多的IP

grep -i -o -E '([0-9]{1,3}\.){3}[0-9]{1,3}' log.log | sort -n | uniq -c | sort -n -r | head -10

awk命令

log内容

root:x:0:0:root:/root:/usr/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
# awk命令结构
awk 选项 '条件 动作' 文件

# 例如
awk '{print $0}' log

awk -F ':' '{print $0}' log
awk '{print NR ")" $1}' log
1) root
2) daemon
3) bin
4) sys
5) sync
$ awk -F ':' '/usr/ {print $1}' demo.txt
root
daemon
bin
sys
$ awk -F ':' 'NR % 2 == 1 {print $1}' demo.txt
root
bin
sync
awk -F ':' '{if ($1 > "m") print $1; else print "..."}' demo.txt
root
...
...
sys
sync