标题: [文本处理] 批处理如何判断hosts文件中的空行? [打印本页]
作者: oett 时间: 2011-11-29 15:45 标题: 批处理如何判断hosts文件中的空行?
想要实现向hosts文件添加新的解析信息,但是,如何才能判断在hosts文件中最后一行是空行?
空行的话,添加进来的解析信息就会直接和原来的最后一行在一起显示,就失效了。
如果是不空行,那就用echo.添加一个空行,然后添加hosts解析信息(这个我会)。但是现在不知道怎么判断,高手帮忙搞搞。
主要是不想让hosts文件中出现N多空行,所以想解决下。
作者: 冷玉公子 时间: 2011-11-29 20:31
你用 echo 127.0.0.1 loaclhost>>hosts 就不会有问题 不用去判断空行的
作者: powerbat 时间: 2011-11-29 20:46
- set hosts=%SystemRoot%\system32\drivers\etc\hosts
- findstr /v $ %hosts% && echo;>%hosts%
- echo ip addr>>%hosts%
复制代码
作者: abcdshenji 时间: 2011-11-29 20:49
- (sed -n $p|findstr/x ^$&&echo 是空行||echo 不是空行)<%windir%\system32\drivers\etc\hosts
复制代码
作者: wolfan 时间: 2011-11-30 16:50
- echo. >>%winroot%\system32\drivers\etc\hosts
复制代码
加一个空行不就好了。
作者: oett 时间: 2011-12-2 11:28
2楼的和5楼相似
3楼的我试过了,结果hosts文件被清空了。只能加当前一条。
4楼的我试过了,'sed' 不是内部或外部命令,也不是可运行的程序。
5楼的我也会,只是以后每次加的时候,都会多一个空行,不紧凑。
作者: abcdshenji 时间: 2011-12-2 11:36
回复 6# oett
sed是三方工具,需要先下载的(http://bbs.bathome.net/thread-1114-1-1.html),放在system32目录
作者: powerbat 时间: 2011-12-2 12:36
把>改成>>不就得了- set hosts=%SystemRoot%\system32\drivers\etc\hosts
- findstr /v $ %hosts% >nul && echo;>>%hosts%
- echo ip addr>>%hosts%
复制代码
作者: awk 时间: 2011-12-2 12:40
回复 5# wolfan
经鉴定,你没看清楼主在问什么。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |