次の出力を含むログファイルがあります。
[+] [1.1.1.1] LOG HERE
ログからIPを抽出し、IPのみをリストする「きれいな」ファイルに送信する方法を知りたいです。
答え1
awk
でテストしましたが、GNU Awk 4.1.3
他のバージョンでは動作しないかどうかはわかりません。
$ cat ip.txt
[+] [1.1.1.1] LOG HERE
$ awk -F'[][]' '{print $4}' ip.txt
1.1.1.1
-F'[][]'
入力フィールドの区切り記号を[
またはに設定]
{print $4}
4番目のフィールドを印刷します。
sed
例に示すように、入力ファイルに一貫したパターンがあるとします。
$ sed 's/.*\[//; s/].*//' ip.txt
1.1.1.1
s/.*\[//
行の先頭から最後まで[
コンテンツを削除するs/].*//
このように変更された行から行]
の先頭から最後まですべて削除します。