
У меня есть файл журнала, который выводит следующие данные:
[+] [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/].*//
из измененной таким образом строки удалите все от начала]
до конца строки