中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 05:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]对比和查找文件内容的问题 查看 658 回复 3
楼 主 [求助]对比和查找文件内容的问题 发表于 2007-10-27 11:24 ·  中国 广东 深圳 龙岗区 电信
初级用户
积分 94
发帖 35
注册 2007-01-09 02:10
19年会员
UID 75886
性别 男
状态 离线
1.txt的文件内容如下:
11
22
33

2.txt的文件内容如下:
11 aa
22 bb
33 cc

用下面的语句运行,提示说"系统找不到findstr"
for /f %%a in (1.txt) do (for /f %%b in (findstr /r /i "%%a" 2.txt) do echo %%b)
要求echo输出的结果为:
aa
bb
cc
望兄长指教!!!!
2 发表于 2007-10-27 11:38 ·  中国 天津 电信
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
for /f %%a in (1.txt) do (for /f %%b in (‘findstr /r /i "%%a" 2.txt’) do echo %%b)

加单引号

结果是否正确,没有看。
3 发表于 2007-10-27 11:42 ·  中国 广东 深圳 龙岗区 电信
初级用户
积分 94
发帖 35
注册 2007-01-09 02:10
19年会员
UID 75886
性别 男
状态 离线
结果不正确,不过还是谢谢你!
我找到正解了,要加上"tokens=2",如下:
for /f %%a in (1.txt) do (for /f "tokens=2" %%a in ('findstr /r /i "%%a" 2.txt')do echo %%a >>3.txt)
4 发表于 2007-10-27 12:18 ·  中国 浙江 杭州 电信
高级用户
★★
积分 537
发帖 219
注册 2007-08-04 09:43
19年会员
UID 94620
性别 男
来自 杭州--半山
状态 离线
for /f %%a in (1.txt) do sed -n "s/%%a //p" 2.txt|more>>3.txt
论坛跳转: