我们正在工作中启动一个新的代理服务器,并且有一个要阻止的域名列表;该列表是从外部站点下载的。
将它们放入乌贼格式我们必须.
在行首添加一个,我们目前已经设置好了/bin/sed -i 's/^/./' $file
我们遇到的问题是,一些文件包含 IP 地址(我们不想.
在其中添加前导)
我一直在尝试使用 sed 并认为这应该可行,但事实并非如此:
sed '/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/s/^\.//g'
有人可以建议我如何删除.
IP 地址中的前导,或者甚至修改第一个命令以不是将其添加.
到 IP 地址?
.
以下是在每一行开头添加了之后的示例数据域名列表:
.216.32.68.172
.216.32.68.173
.216.32.68.188
.216.32.90.27
.216.32.90.28
.216.32.94.117
.21ace.com
.21publish.com
.21wuxia.com
.222z.net
.22dakika.org
.23-net.org
.23zone.de
.244.120.232.72.static.reverse.ltdomains.com
.24hourcafe.biz.ly
答案1
您已经非常接近了,只需避开{}
-字符即可。
这会将.
不匹配 IP 地址的所有模式放在前面:
sed '/^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/! s/^/./g' file
这将删除.
IP 地址前面的所有前导字符:
sed '/^.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/ s/^.//g' file2