Linux
如何從 Linux SSH 安全日誌 中過濾 PID?
Aug 12 01:30:26 server.example.com sshd[19486]: Failed password for root from X.X.X.X port 50528 ssh2 Aug 12 01:30:26 server.example.com sshd[19486]: Received disconnect from X.X.X.X port 50528:11: Bye Bye [preauth] Aug 12 01:30:26 server.example.com sshd[19486]: Disconnected from X.X.X.X port 50528 [preauth] Aug 12 01:30:28 server.example.com sshd[19491]: Failed password for root from X.X.X.X port 59628 ssh2
我有一個從“/var/log/secure”中提取的範例 Linux SSH 日誌文件。我想過濾 PID(本例中為 19491 和 19486)。如何使用 bash 實現這一點?
使用 awk:
awk -F '[][]' '{print $2}' /var/log/secure
-F '[][]'
將文件分隔符作為左大括號和右大括號$2
驗證第二個欄位。
這有點笨拙,但我希望有人可以發布一個較短的版本:我使用 sed 命令替換了“
$$ " and " $$" 帶有空格的字元,然後使用 awk 命令列印第 6 個欄位
# cat /var/log/secure | sed 's/\[/ /g' | sed 's/\]/ /g' | awk ' {print $6}' 19486 19486 19486 19491