![输出第二次出现的内容](https://linux22.com/image/110521/%E8%BE%93%E5%87%BA%E7%AC%AC%E4%BA%8C%E6%AC%A1%E5%87%BA%E7%8E%B0%E7%9A%84%E5%86%85%E5%AE%B9.png)
我有一个日志文件,其输出如下:
[+] [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'[][]'
将输入字段分隔符设置为[
or]
{print $4}
打印第四个字段
使用sed
,假设输入文件具有一致的模式,如示例中所示
$ sed 's/.*\[//; s/].*//' ip.txt
1.1.1.1
s/.*\[//
删除从行首到[
行尾的内容s/].*//
从如此修改的行中,删除从]
行首到行尾的所有内容