TXT文本文件内容对比替换

来源:百度知道 编辑:UC知道 时间:2024/09/24 14:22:56
有个问题请大家帮助下首先我有2个文本文件如下

1.TXT 这个文件内容如下(是竖排的)
西瓜
荔枝
核桃

第二个文本文件
2.TXT 这个文件内容如下(也是竖排)
西瓜 广州进货
土豆 本地进货
香蕉 海南进货
茄子 河北进货
荔枝 南方进货
核桃 山东进货
内容如上:2.TXT文件好像一个数据库它的内容很多,1.TXT是变动的但内容都是在2.TXT左边那侧数据里挑选出来的,现在想通过软件或者批处理等方式实现2个TXT文件对比把1.txt里的西瓜 荔枝 核桃这样的内容替换成文件2里面右侧的进货内容比如 广州进货。

推荐用Replace Pioneer,详细步骤如下:

1. 把2.txt文件导入系统, 选择settings->dictionary->dictionary import
(1)load data from 选择File
(2)dictionary file选择b.txt
(3)format 选择key<space>value
(4)点击start,导入完成
3. 对1.txt进行替换
(1)ctrl-o打开1.txt
(2)ctrl-h打开replace窗口
在search for pattern输入"\w+"(不带双引号)
在replace with pattern输入"get_value($match)"
(3)点击Replace,完成
(4)ctrl-s存盘。

注意,如果你的2.txt是用table(制表符)分隔的,导入时format用key<tab>value

:: 将代码保存为BAT文件,放到TXT文件夹中
:: 千羽之城 2009-08-02
::===============================================
@echo off&cd .>op.txt
for /f "delims=" %%i in (1.txt) do (set "%%i=var")
for /f "tokens=1-2 delims= " %%a in (2.txt) do (
if defined %%a >>op.txt echo %%a %%b)
start op.txt
exit
::===============================================

【备注:2.txt文件中不能有重复内容,为防止混乱保留了输出文本保留了1.txt中内容,如果不需要可以修改这一句: