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

[文本处理] 一个功能强大的字符替换工具:fr

在网上看到了一个强大的字符替换工具,大家可以去白杨的原创免费作品http://baiy.cn/上看一看。
  1. fr - 在文件中查找并替换匹配的字符串
  2. ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
  3. 功能简介
  4. ■ 支持一次性指定多个文件通配符和文件列表。
  5. ■ 支持管道模式,与其它命令协同工作;支持半管道模式,从文件中获取输入,但将结果写到标准输出。
  6. ■ 支持包含子目录。
  7. ■ 支持普通匹配、正则匹配、可忽略大小写、可跨行匹配。替换时可以使用正则的子表达式。
  8. ■ 支持高级正则表达式(ARE)。
  9. ■ 同时支持 posix 标准的扩展正则表达式及 perl 风格的正则匹配。
  10. ■ 可以格式化替换内容为全大写或全小写,便于在批处理中对环境变量和命令行参数做大小写一致化处理。
  11. ■ 支持 DOS(Windows)、Macintosh 和 unix 风格的换行符,可选择自动识别(默认)或手动指定。
  12. ■ 统计功能,列出每个文件中的替换次数、总替换次数等。
  13. ■ 支持Win32和纯DOS环境(纯DOS环境中需要 HX DOS Extender 支持)。
复制代码
下载:
http://pan.baidu.com/share/link?shareid=4061880705&uk=1124163200
1

评分人数

我没有感觉到那么多也许,但说明一点,是知识传播的封闭性,而不是不为人知的小故事。
很多现成的工具,并不为各种小众群体所知。宁愿自己写,也不用别人的。书籍上有个著名的词语形容叫:重复发明轮子。

TOP

回复 22# leeonix


原来如此。看来那时候awk的功能还不像现在这样强大。
也正好说明了一点,很多东西的出现,背后总有一些有趣的小故事。
也许fr的作者也是觉得当时那些命令行工具在某些方面不尽如人意吧。
我用fr系列比较少,了解的不是很深,但是看到过有人用它替换原文件、跨行正则等,还是挺有意思的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

这也行,多谢楼主分享

TOP

我还是没记错,以下摘自我手里的《Programming Perl》,也就是骆驼书。
“然后大经理要求他(Larry)生成报告,Larry的第一个反应是‘用awk’,糟糕的是,那时候的awk无法做到以文件里的信息为基础打开和关闭多个文件,Larry不想编写一个特殊目的工具,结果一种新的语言产生了。”

TOP

我说的做不到,是针对"输出被格式化化好的报表"这句的。有关awk的问题,可以参照上面说的Unix编程艺术。

TOP

回复 19# leeonix


哦,是吗,以前看Perl教程的时候,书上说Larry也是awk高手呢,只是觉得处理报表不够方便(而不是做不到)才搞了Perl。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

类似?那你太小瞧Larry Wall为了发明perl的“类似”想法了。perl的最初定位是输出被格式化化好的报表,但awk做不到,他才做了perl,然后想想把正则表达式加进去也不错。就成了perl。而我看这个fr,只有重复grep的想法。最多就是自己的一个作业性质的作品。

TOP

回复 17# leeonix


这就对了嘛
很多时候不是说有了某个东西可以完成某些事情就不去发明另外一些东西
也许fr的作者在开发这个系列的命令行工具的时候也有类似的想法呢
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 16# Batcher
perl的单行脚本只比awk强不比awk弱。而且perl可以做到sed tr grep的集合功能。而不需要直接用管道。Eric Raymond在Unix编程艺术里介绍awk的时候,建议可以把awk扔掉了。

TOP

回复 15# leeonix


sed,awk,都可以做到,为什么还有perl这么个东西呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

sed,awk,perl都可以做到,为什么还有这么个东西呢?

TOP

学习下   在来问问
文明 不如 见面 学无止境 静心学习

TOP

的确很强大,但是我还是用不好,望高手写个教程耐心指导一二。

TOP

回复 11# ttenma


grep有 -o 选项
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表