输出第二次出现的内容

输出第二次出现的内容

我有一个日志文件,其输出如下:

[+] [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/].*//从如此修改的行中,删除从]行首到行尾的所有内容

相关内容