[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 tmplinshi 于 2011-7-31 14:50 编辑

回复 10# strong12345


强烈建议使用这个版本:

    GNU sed v4.0.7 单文件版(使用 -i 参数不生成备份文件)
    http://bathome.net/thread-13353-1-1.html

与“4.14 单文件版”相比,不但

  • 体积更小
  • 速度更快
  • 而且使用 -i 参数不加扩展名的时候,不会生成备份文件。


-i[扩展名], --in-place[=扩展名]
               直接修改文件(如果指定扩展名就备份文件)


很多版本,即使没有指定扩展名,仍然会备份文件。“GNU sed v4.0.7 单文件版”没有这个问题。

TOP

回复 13# strong12345


是版本问题。

TOP

回复  CUer
初步尝试似乎不行 =.=
是我的文本里有中文的原因吗?
strong12345 发表于 2011-7-31 11:25



加 -i 参数:
  1. sed -i "/^[ \t]*$/d" a.txt
复制代码

TOP

是的,我用4.07成功了,感谢版主
可是,替换后的换行 变成仅是 \n ,不是一般notepad 认识的 \r\n
另外, ...
strong12345 发表于 2011-7-31 16:10



果然 - -|||,这个应该算是 bug 了吧,sed414 和 sed421 都没有这个情况。

可以这样:
  1. sed -i "/^[ \t]*$/d; s/$/\r/" a.txt
复制代码
sed414 是可以替换成功的,你之前因为没有加 -i 参数。

TOP

回复 21# strong12345
  1. fr 文件.txt -r:"^(\t|\s)*\n" -t
复制代码

TOP

返回列表