标题: [文本处理] 批处理如何找到存在于指定文件的字符串? [打印本页]
作者: csuwind 时间: 2011-12-29 01:10 标题: 批处理如何找到存在于指定文件的字符串?
各位大哥,小弟有一个紧急的问题,谢谢大家帮忙。
有一个字符串a="abc" (全小写)
有一个文本b
xxx aBc ddd ttt 124
ddd abC 567=
eee Abc 888==
现在要求,首先,不区分大小写,搜索字符串a 首次在b中出现的字符串,然后将b中这个字符串以b文件中的本身的大小写输出.
比如经过搜索第一行含有 aBc=abc ,所以输出aBc 循环结束(只搜寻出现一次即可,并且按照原来文件的大小写输出).
作者: awk 时间: 2011-12-29 09:21
- gawk -v a="abc" "{for(i=1;i<=NF;i++)if(tolower($i)==a){print $i;exit}}" b.txt
复制代码
作者: 601997526 时间: 2011-12-29 10:34
- @echo off
- set a="abc"
- for /f "delims=" %%i in (b.txt) do (
- echo %%i|findstr /i %a% &&(pause&exit)
- )
- pause
复制代码
作者: awk 时间: 2011-12-29 10:42
回复 3# 601997526
楼主要求输出aBc,而不是aBc所在的一整行。
作者: csuwind 时间: 2011-12-29 16:03
回复 2# awk
老大,你这个貌似也是输出一整行啊? 我只要输出相当的那个字符串的本身格式即可
作者: awk 时间: 2011-12-29 16:15
回复 5# csuwind
你听谁说的貌似?
作者: csuwind 时间: 2011-12-29 16:35
回复 6# awk
老大,你那个gawk能不能发一个给我,我在伊朗,这里好多网站打不开不能下载,而且我不能在本论坛搜索. 我邮箱 [email]csu_wind@163.com[/email]
作者: csuwind 时间: 2011-12-29 17:09
回复 2# awk
OK,老大,感谢。我已经找到了这个工具.经过测试成功. 我这里还有一个小问题,就是 比如 a=abc, b=123Abc88 如果按你的算法 在b中找a,这样就找不到了,我这里想把Abc找出来,因为每行的内容格式不固定,并不存在什么以空格为分隔之类的,就是在一行混混杂的内容中找与a符合的
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |