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

[文本处理] 批处理如何使用find或findstr查找指定字符串?

如何使用find/findstr查找字符[+space]+数字类型的字符串,求教!
有如下文本1.txt
test 1234
test[xx]
test
xx11test
test123sf
test ddd
testddd

需要提取,如下另存为2.txt
test 1234
test123sf

求高手指教!

回复 1楼 的帖子

补充: 不要求2.txt的的具体文本内容。只要提取出来指定的两行即可。
不一定是123,是数字或者数字的组合,就是这个地方不太明白,如何表示任意数字呢?

不好意思,各位大侠,小生这两天家里电脑出了问题,公司上不了网。
是我的问题,没说清楚,我是想找test[+space]+数字的组合

没说清楚,我的问题。先回一个,我马上看看各位的代码。谢谢!

[ 本帖最后由 hahahawke 于 2010-10-12 22:16 编辑 ]

TOP

为何xx11test不符合要求?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. findstr /n .* 1.txt>b.txt
  3. findstr /b /c:"1:" /c:"5:" b.txt>c.txt
  4. for /f "tokens=2 delims=:" %%i in (c.txt) do (
  5.       echo %%i >>2.txt
  6. )
  7. del /q b.txt
  8. del /a c.txt
  9. pause>nul
复制代码

TOP

有点复杂!!!!你看看吧!!!!!再想想更好的办法!!!!!!

TOP

  1. for /f "delims=" %%i in ('type 1.txt^|find "123"') do echo %%i>>2.txt
复制代码

TOP

在楼主回复3楼的问题之前,所有的答案都是无意义的(上午我本来给出答案了,但看到楼主在2楼的补充后又删除了)

TOP

不好意思,各位大侠,小生这两天家里电脑出了问题,公司上不了网。
是我的问题,没说清楚,我是想找test[+space]+数字的组合

没说清楚,我的问题。先回一个,我马上看看各位的代码。谢谢!

TOP

  1. findstr/?
  2. 除非参数有 /C 前缀,请使用空格隔开搜索字符串。
  3. 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或
  4. "there" 。 'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找
  5. "hello there"。
复制代码

TOP

  1. findstr.exe /ir /c:"test[ ]*[0-9][0-9]*" 1.txt >2.txt
复制代码

TOP

好的,谢谢啦。结贴,多谢各位大侠。

TOP

回复 11楼 的帖子

说说到底哪个代码帮你解决了问题吧,以便后来人搜索。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表