【发布时间】:2018-03-21 05:27:49
【问题描述】:
我正在尝试从日志文件中删除一些包含 IP 地址的行。我目前正在使用 sed 命令使用 bash 脚本。我在 Ubuntu 16.04 上运行它。 日志文件有这种格式
... //data type 1
... //data type 2
0.0.0.0 //IP 1
...
...
127.0.0.1 //IP 2
等等。 我正在运行的命令是
sed 's/\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b//g' input.txt > output.txt
还有
sed '/\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b/d' input.txt > output.txt
以及其他一些变体。
但什么也没发生
问题在于,在像 regextester.com 这样的正则表达式测试器网站中,表达式确实证明了我想要消除的 IP 地址。
有人可以给我一个提示吗?
【问题讨论】:
-
前导词边界为
\<,尾随为\>,相应地替换两个\bs。
标签: regex bash sed scripting data-manipulation