早教吧 育儿知识 作业答案 考试题库 百科 知识分享

急问!如何批量替换文本里的文字?文件a.txt:1thisthat2thosethesethen3....;文件b.txt:thisiswhite.thatisblack.thosearewhite....希望把b.txt里出现的a.txt里的每个词用那行开头的数字替代,变成:1iswhite.

题目详情
急问!如何批量替换文本里的文字?
文件a.txt:
1 this that
2 those these then
3 ....;
文件b.txt:
this is white.
that is black.
those are white.
...
希望把b.txt里出现的a.txt里的每个词用那行开头的数字替代,变成:
1 is white.
1 is black.
2 are white.
...
请问怎么实现呢?
这个是批量处理,根据a.txt里面的内容替换b.txt里的字符串.
a.txt有3000多行,每行有2-10个不同的字符串(每个字之间是space相隔).
不要告诉我在WORD里面用Ctrl+F.
我想请问有没有python脚本,或者awk,sed命令行可以处理呢?
▼优质解答
答案和解析
用软件Replace Pioneer只要以下几个简单步骤就可以实现了:

首先假设a.txt在目录d:\test\目录下,如果不在,需要把后面的代码d:\\test\\a.txt改为合适的目录.

1. ctrl-o打开文件b.txt
2. ctrl-h打开replace窗口
* replace unit选word
* replace scope选Line
* unit number filter输入1表示只替换每行第1个词
* replace with pattern输入words(grep(/$match/,@a),1)即可
* 点击advance选项页,在run following at the beginning of replace输入:
@a=split("\n",file_content('d:\\test\\a.txt'))
3. 点击replace即可,ctrl-s存盘即可.

注意a.txt, b.txt每行最左边不能有空格,另外代码中目录分隔符要用双反斜杠,如d:\\test\\a.txt

实测结果如下:
1 is white.
1 is black.
2 are white.
看了急问!如何批量替换文本里的文字...的网友还看了以下: