找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24109|回复: 7

[文本处理] 批处理如何找到存在于指定文件的字符串?

[复制链接]
发表于 2011-12-29 01:10:50 | 显示全部楼层 |阅读模式
各位大哥,小弟有一个紧急的问题,谢谢大家帮忙。
有一个字符串a="abc"  (全小写)
有一个文本b
xxx aBc ddd ttt  124
ddd abC 567=
eee Abc 888==

现在要求,首先,不区分大小写,搜索字符串a 首次在b中出现的字符串,然后将b中这个字符串以b文件中的本身的大小写输出.
比如经过搜索第一行含有 aBc=abc ,所以输出aBc  循环结束(只搜寻出现一次即可,并且按照原来文件的大小写输出).
发表于 2011-12-29 09:21:08 | 显示全部楼层
  1. gawk -v a="abc" "{for(i=1;i<=NF;i++)if(tolower($i)==a){print $i;exit}}" b.txt
复制代码
发表于 2011-12-29 10:34:31 | 显示全部楼层
  1. @echo off
  2. set a="abc"
  3. for /f "delims=" %%i in (b.txt) do (
  4. echo %%i|findstr /i %a% &&(pause&exit)
  5. )
  6. pause
复制代码
发表于 2011-12-29 10:42:47 | 显示全部楼层
回复 3# 601997526


楼主要求输出aBc,而不是aBc所在的一整行。
 楼主| 发表于 2011-12-29 16:03:26 | 显示全部楼层
回复 2# awk


    老大,你这个貌似也是输出一整行啊? 我只要输出相当的那个字符串的本身格式即可
发表于 2011-12-29 16:15:13 | 显示全部楼层
回复 5# csuwind


你听谁说的貌似?
 楼主| 发表于 2011-12-29 16:35:31 | 显示全部楼层
回复 6# awk


   老大,你那个gawk能不能发一个给我,我在伊朗,这里好多网站打不开不能下载,而且我不能在本论坛搜索.  我邮箱 csu_wind@163.com
 楼主| 发表于 2011-12-29 17:09:49 | 显示全部楼层
回复 2# awk


  OK,老大,感谢。我已经找到了这个工具.经过测试成功. 我这里还有一个小问题,就是 比如 a=abc, b=123Abc88  如果按你的算法 在b中找a,这样就找不到了,我这里想把Abc找出来,因为每行的内容格式不固定,并不存在什么以空格为分隔之类的,就是在一行混混杂的内容中找与a符合的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 14:42 , Processed in 0.018706 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表