删除所有私有IP地址

时间:2016-11-18 08:12:23

标签: sed

目前我正在开发一个项目,其中我有一个充满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 

1 个答案:

答案 0 :(得分:1)

将捕获群组与sed一起使用时,您需要转义( )或指定选项-E

$ sed -E -i '/(...)...'

$ sed -i '/\(...\)...`

仅适用于GNU sed 使用-r选项而不是-E