【发布时间】:2019-07-28 07:03:41
【问题描述】:
目前我在 Linux 上使用这个命令:
grep Ban /var/log/fail2ban.log | grep -v 'Restore Ban' | sed 's/\s\s*/ /g' | cut -d" " -f8 | sort | uniq -c | sort -t ' ' -n -b
日志文件如下所示:
2019-03-04 07:14:45,778 fail2ban.filter [19052]: INFO [sshd] 找到 2*8.1*7.1*9.2*9 2019-03-04 07:14:46,412 fail2ban.actions [19052]:通知 [sshd] Ban 2*8.1*7.1*9.2*9 2019-03-04 07:15:04,708 fail2ban.actions [19052]:通知 [sshd] Unban 1*9.2*.2*4.1*6 ...输出如下:
8 1*2.2*6.1*1.1*5 12 3*.1*.*4.*6 18 1*5.2*8.2*5.4 19 1*2.2*6.1*1.1*4 72 3*.1*6.2*.9*我已经用Get-Content 试过了,但我不明白所有的 PowerShell 语法。
【问题讨论】:
-
如果您不了解某些 cmdlet,您可以随时使用Get-Help Get-Content -Full。您可以阅读Select-String 的帮助。
-
请去查找 PowerShell 教程。 SO 既不是免费翻译服务,也不是让您熟悉所用语言的基础知识的替代品。
标签: linux powershell grep command