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

[文本处理] [已解決] fr.exe如何利用正则表达式移除文件空白行?

本帖最后由 strong12345 于 2011-8-1 17:05 编辑

请问
如何利用正则表达式移除文件空白行
这是小弟目前代码,但是有些bug...
  1. fr.exe  文件.txt  -r:"[\r\n\r\n]+"  -t:"\r\n"
复制代码
有3个bug
1. 无法移除第一行的空白行
2. 无法移除最末行的空白行
3. 无法移除包含空白字符(\s)的空白行

请问该怎么修正代码,请知道的大大帮忙一下
感激不尽!


(ps.)我用firefox怎么没有话题分类的选项... 还要用IE TAB...
1

评分人数

    • tmplinshi: 感谢给帖子标题标注[已解决]字样PB + 2

回复 3# powerbat
不好意思,已修改

TOP

回复 2# CUer
初步尝试似乎不行 =.=
是我的文本里有中文的原因吗?

TOP

回复 6# CUer
这是big5码喔
中国大陆地区看起来应该是乱码= =

TOP

最近想学习一些第3方的文本处理软件用法
感觉功能很强大
但不知道学什么好
gawk  sed   还是什么比较好 @@

TOP

本帖最后由 strong12345 于 2011-7-31 12:15 编辑

回复 8# CUer
我不知道怎么看他的版本耶= = (/? 无效...??)
我只知道他的md5是81cb44f6676039ed327f98e1e6966635
我下载新的sed看看好了

我比较过了.. 4.14 单文件版

TOP

请问是我的作法有误吗@@
我一般浆sed.exe放在 system32\ 下,方便修改
可是我在DOS视窗下,输入sed --version ,或是其他sed指令,都是出现一个不支援中文的dos窗口 ??
附上我测试的档案及图片...

附件過大,因此傳到網路空間(包含sed.exe 4.14)
测试档案

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

这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

返回列表