用Replace Pioneer如何批量处理文本问题

例:2000个TXT文档里面都是很多3位数(几百到几千不等),我想找出某个3位数在这2000个文档里面的具体位置,把位置数都统计出来排成一个新的位置文档(有可能一个原始文... 例:2000个TXT文档里面都是很多3位数(几百到几千不等),我想找出某个3位数在这2000个文档里面的具体位置,把位置数都统计出来排成一个新的位置文档(有可能一个原始文档里有几个位置是这个数,有的也可能没有)!然后 接下来通过这些位置数文档在不同的2000个TXT文档里面找出相应位置的3位数排成一个新的2000行的文本文档!(前后两次2000个文档的名称都是对应相同的) 展开
 我来答
yes___no
2010-04-12 · TA获得超过3153个赞
知道大有可为答主
回答量:1988
采纳率:100%
帮助的人:2069万
展开全部
问题有点复杂,以下举例说明如何用Replace Pioneer处理的详细步骤:

首先把这2000个txt文件放在c:\temp目录下,这些文件中每行是一个数字。

1. 怎样查询数字222在每个文件中的具体位置
(1)ctrl-h打开replace窗口
* 在Search for pattern输入"\b222\b"(不带双引号)
* 在Replace with pattern输入"$FULLNAME $global_line_no\n"(不带双引号)
* 把中间的Print unmatched units选项去掉。
* 把右下角Output File左边的">"号选为">> Append"表示追加模式。
(2)点击Batch..按钮打开Batch Runner菜单
* 把待处理文件全部从Windows的文件浏览器拖拽到Batch Runner窗口
* 选中Set output filename选项,把右边的${FILENAME}改为output.txt
* 点击Batch Replace按钮,这时检查一下c:\temp\output.txt,就会发现里面每行的格式是:
文件名1 行号
文件名2 行号
...

2. 怎样把2000个新文件里对应的行读出来

首先把2000个新文件放到c:\temp\目录下,替换旧文件。

(1)ctrl-o打开output.txt,但其中有一些空行
(2)ctrl-h打开Replace窗口
* Replace Unit选Line
* 在Search for pattern输入"^\s*$"(不带双引号)
* 点击Replace既可去除空行。
(3)按ctrl-h再打开Replace窗口
* 把Replace Unit选为Line
* 在Replace with pattern输入:
"file_line($match[1],$match[2])\n"(不带双引号)
(4)点击Replace,完成!ctrl-s存盘。

注:因为步骤比较多,需要仔细照做,忽略任何一步都不能达到最后的效果。
问题没解决前不要选为最佳答案,有任何问题欢迎发消息讨论。
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式