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

[文本处理] 如何利用批处理批量替换文本内不同内容的字符

本帖最后由 Rasm 于 2012-5-3 16:19 编辑

1.txt的内容如下:

b097e703c2266df140b176158db7b967
f2af3073d7fd0d1389431660a213da03
23aa1cf3836221787a710682a5d5508e
b5be656a7060dd3525027d6763c33ca0
421912aca048bceb6f78c378775205d0
7aecf141564a45c1aaa10e1309a71e6d
9aa0b8e9f776639f84f688cc4cd75ef2

0592843fee8cdfc2b03e6cd7be40126b

2.txt的内容内容如下:

a#0cc175b9c0f1b6a831c399e269772661
000#c6f057b86584942e415435ffb1fa93d4
kwq#7aecf141564a45c1aaa10e1309a71e6d
006#568628e0d993b1973adc718237da6e93
777#f1c1592588411002af340cbaedd6fc33
hdf#9aa0b8e9f776639f84f688cc4cd75ef2
w07#4521058ddf92fa5b4795d756ec73117d

结果就是想把:

把1.txt的:7aecf141564a45c1aaa10e1309a71e6d替换为:kwq#7aecf141564a45c1aaa10e1309a71e6d
把1.txt的:9aa0b8e9f776639f84f688cc4cd75ef2替换为:hdf#9aa0b8e9f776639f84f688cc4cd75ef2

本帖最后由 Rasm 于 2012-5-2 21:27 编辑

回复 3# ivor


    对,如何相符合就替换

不需要完全相符合

至少是1.txt的内容和2.txt的内容,后面的内容相符合

TOP

回复 2# gawk


    如果2.txt的第二行是:
a123333         net123123123
这个是否需要替换?

这种就不替换

TOP

本帖最后由 Rasm 于 2012-5-2 21:32 编辑

回复 2# gawk


    我的意思是说

如果文本2.txt “#”后面的内容符合1.txt那行的内容能够,那么就把1.txt那行的内容替换为2.txt那行的内容

如1.txt某一行的内容为:a1121aaaaa

2.txt某行的内容为:12388182#a1121aaaaa

那就把1.txt的“a1121aaaaa”替换为2.txt 的“12388182#a1121aaaaa”,并保存为3.txt

并且如果中间遇到不符合的就跳过或者过滤,继续下一行

TOP

回复 9# gawk


    好吧, 我突然想到了又一种比较好的比较方法

就是1.txt的内容比2.txt里的内容多

将1.txt和2.txt里的内容相比较

如果1.txt的内容存在2.txt里那行的内容,就将1.txt里面的内容替换为空格或者删除

不知道这样可以理解的了不

TOP

本帖最后由 Rasm 于 2012-5-3 05:08 编辑

回复 9# gawk


    你的理解错的,不是只和第一行比较,而是2.txt里的内容和1.txt里的全部内容比较

有可能的情况是“aefafafa12312312” 在1.txt文本的 第79行

而“121212#aefafafa12312312”在2.txt文本的48行

如果是这样的情况,就将1.txt的内容替换为2.txt文本那行的内容

TOP

本帖最后由 Rasm 于 2012-5-3 09:50 编辑

回复 12# gawk


    因为5楼的那种是不存在的

1111#net123123123
a123333#werqerqerqrq

他们只可以唯一对应一种,

a123333#net123123123    这种是永远不可能存在的

如果遇到5楼所说的,那可以替换掉。。

TOP

回复 8# CrLf


    版主,你的批处理貌似不对啊
我拿个最直接,可观的例子说

1.txt的内容如下

b097e703c2266df140b176158db7b967
f2af3073d7fd0d1389431660a213da03
23aa1cf3836221787a710682a5d5508e
b5be656a7060dd3525027d6763c33ca0
421912aca048bceb6f78c378775205d0
7aecf141564a45c1aaa10e1309a71e6d
9aa0b8e9f776639f84f688cc4cd75ef2
0592843fee8cdfc2b03e6cd7be40126b

2.txt的内容内容如下

a#0cc175b9c0f1b6a831c399e269772661
000#c6f057b86584942e415435ffb1fa93d4
kwq#7aecf141564a45c1aaa10e1309a71e6d
006#568628e0d993b1973adc718237da6e93
777#f1c1592588411002af340cbaedd6fc33
hdf#9aa0b8e9f776639f84f688cc4cd75ef2
w07#4521058ddf92fa5b4795d756ec73117d

结果就是想把:

把1.txt的:7aecf141564a45c1aaa10e1309a71e6d替换为:kwq#7aecf141564a45c1aaa10e1309a71e6d
把1.txt的:9aa0b8e9f776639f84f688cc4cd75ef2替换为:hdf#9aa0b8e9f776639f84f688cc4cd75ef2

TOP

回复 15# CrLf


    嗯,其实本意就是这样的

TOP

没人会吗, 郁闷

TOP

返回列表