我想查看 CPU 使用率。
我使用了这个命令:
top -bn1 | grep "Cpu(s)" |
sed "s/.*, *\([0-9.]*\)%* id.*/\1/" |
awk '{print 100 - $1}'
Run Code Online (Sandbox Code Playgroud)
但它返回 100%。
正确的方法是什么?
我想为每个 ip DROP 200 多个请求以防止 ddos 攻击。这是我用来检测每个 ip 请求数的命令:
netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr
Run Code Online (Sandbox Code Playgroud)
现在我想将所有发出超过 200 个请求的 ip 地址添加到 IPtables 中,以便 DROP 输入和输出。
我有日志文件,如:
1::
10::
127.0.0.1
172.17.1.1
Run Code Online (Sandbox Code Playgroud)
我希望 awk 将字符串拆分为 :: 分隔符上的列。就像是 :
awk {print$1}
Run Code Online (Sandbox Code Playgroud)
结果:
1
Run Code Online (Sandbox Code Playgroud)
和
awk {print$2}
Run Code Online (Sandbox Code Playgroud)
结果:
10
Run Code Online (Sandbox Code Playgroud)
和
awk {print$3}
Run Code Online (Sandbox Code Playgroud)
结果:
127.0.0.1
172.17.1.1
Run Code Online (Sandbox Code Playgroud)
我不知道如何用带有分隔符 :: 的 awk 拆分。