我有一个广告拦截主机文件,其中的0.0.0.0
IP 指向 URL。如何在没有任何可视文本编辑器的情况下0.0.0.0
用127.0.0.1
命令行替换?手动执行此操作nano
等vi
是不可能的,列表有超过 15k 行。
由此
0.0.0.0 c.one97adworks.com
0.0.0.0 0koryu0.easter.ne.jp
0.0.0.0 static.super-links.net
对此
127.0.0.1 c.one97adworks.com
127.0.0.1 0koryu0.easter.ne.jp
127.0.0.1 static.super-links.net
立刻。
我的 shell bash 4.3.33。
更新 两票反对?请发表评论。
答案1
perl -lpe 's/^(0\.){3}0/127.0.0.1/' file > newfile
应该可以解决问题。
答案2
请注意,由于文件的结构是这样的,您能也可以在 Vi、nano 或任何其他文本编辑器中执行此操作;只需使用其查找/替换命令即可。
例如,在 nano 中,最简单的文本编辑器:
- 打开文件
- CTRLW然后CTRLR
- 输入
0.0.0.0
作为搜索字符串 - 输入
127.0.0.1
作为替换字符串 - A替换所有匹配项
- 保存编辑后的文件
答案3
使用 file1.txt 中的内容,结果将在 file2.txt 中,内容如下:
sed 's/^0\.0\.0\.0/127.0.0.1/' file1.txt > file2.txt