[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 13# strong12345


试试版主提供的4.0.7

TOP

本帖最后由 strong12345 于 2011-7-31 16:18 编辑

是的,我用4.07成功了,感谢版主
可是,替换后的换行 变成仅是 \n ,不是一般notepad 认识的 \r\n
另外,最末行的空行,也无法替换,请问此点可改善吗 @@

另外想请问 gawk代码,个人目前比较想学gawk...
谢谢

另外我刚刚查了一下,sed 出4.2.1 单文件版本了
网站 http://gnuwin32.sourceforge.net/packages/sed.htm
似乎也没有单文件 =.= 还是要dll档

TOP

回复 17# strong12345


4.2.1在使用-i选项的时候会自动生成一个备份文件,感觉不爽。

TOP

回复 17# strong12345
  1. sed "/^[ \t]*$/d" a.txt | more >b.txt
复制代码
这样应该不会有\n的问题了吧

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

这2天再研究正则表达式...
小有心得
终于研究出用fr.exe去除空行的代码(包含\s \t 等空格行)
  1. ::去除所有空白行(包含 \s \t 等空白行)
  2. fr 文件.txt -r:"[\r\n]+(\s)+\n" -t:"\r\n"
  3. ::去除第一,最末空白行
  4. fr 文件.txt -r:"^\r\n|\r\n$" -t
复制代码
有个重点在于,有文字的行,尾端换行符为 \r\n
没有文字(只含 \s \t)的行,尾端换行符却只有 \n

TOP

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

TOP

返回列表