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

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

各位大哥,小弟有一个紧急的问题,谢谢大家帮忙。
有一个字符串a="abc"  (全小写)
有一个文本b
xxx aBc ddd ttt  124
ddd abC 567=
eee Abc 888==

现在要求,首先,不区分大小写,搜索字符串a 首次在b中出现的字符串,然后将b中这个字符串以b文件中的本身的大小写输出.
比如经过搜索第一行含有 aBc=abc ,所以输出aBc  循环结束(只搜寻出现一次即可,并且按照原来文件的大小写输出).

  1. gawk -v a="abc" "{for(i=1;i<=NF;i++)if(tolower($i)==a){print $i;exit}}" b.txt
复制代码

TOP

  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
复制代码

TOP

回复 3# 601997526


楼主要求输出aBc,而不是aBc所在的一整行。

TOP

回复 2# awk


    老大,你这个貌似也是输出一整行啊? 我只要输出相当的那个字符串的本身格式即可

TOP

回复 5# csuwind


你听谁说的貌似?

TOP

回复 6# awk


   老大,你那个gawk能不能发一个给我,我在伊朗,这里好多网站打不开不能下载,而且我不能在本论坛搜索.  我邮箱 [email]csu_wind@163.com[/email]

TOP

回复 2# awk


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

TOP

返回列表