目前我正在开发一个项目,其中我有一个充满IP地址的文件我想要删除私有(整个范围)的IP地址并使用bash来完成它。我确实匹配私人地址,但无法将其删除。
我试过了:
sed -i '/(192)\.(168)(\.([2][0-5][0-5]|[1][0-9][0-9]|[1-9][0-9]|[0-9])){2}/d' validIPOnly
同样适用于
127.x.x.x,172.16.x.X,10.x.x.x
答案 0 :(得分:1)
将捕获群组与sed
一起使用时,您需要转义(
)
或指定选项-E
:
$ sed -E -i '/(...)...'
或
$ sed -i '/\(...\)...`
仅适用于GNU sed 使用-r
选项而不是-E
。