标题: [文本处理] 批处理如何使用find或findstr查找指定字符串? [打印本页]
作者: hahahawke 时间: 2010-10-10 11:30 标题: 批处理如何使用find或findstr查找指定字符串?
如何使用find/findstr查找字符[+space]+数字类型的字符串,求教!
有如下文本1.txt
test 1234
test[xx]
test
xx11test
test123sf
test ddd
testddd
需要提取,如下另存为2.txt
test 1234
test123sf
求高手指教!
作者: hahahawke 时间: 2010-10-10 11:51 标题: 回复 1楼 的帖子
补充: 不要求2.txt的的具体文本内容。只要提取出来指定的两行即可。
不一定是123,是数字或者数字的组合,就是这个地方不太明白,如何表示任意数字呢?
不好意思,各位大侠,小生这两天家里电脑出了问题,公司上不了网。
是我的问题,没说清楚,我是想找test[+space]+数字的组合
没说清楚,我的问题。先回一个,我马上看看各位的代码。谢谢!
[ 本帖最后由 hahahawke 于 2010-10-12 22:16 编辑 ]
作者: Batcher 时间: 2010-10-10 12:10
为何xx11test不符合要求?
作者: 491321720xxw 时间: 2010-10-10 17:58
- @echo off
- findstr /n .* 1.txt>b.txt
- findstr /b /c:"1:" /c:"5:" b.txt>c.txt
- for /f "tokens=2 delims=:" %%i in (c.txt) do (
- echo %%i >>2.txt
- )
- del /q b.txt
- del /a c.txt
- pause>nul
复制代码
作者: 491321720xxw 时间: 2010-10-10 17:59
有点复杂!!!!你看看吧!!!!!再想想更好的办法!!!!!!
作者: leap 时间: 2010-10-10 20:23
- for /f "delims=" %%i in ('type 1.txt^|find "123"') do echo %%i>>2.txt
复制代码
作者: powerbat 时间: 2010-10-10 23:52
在楼主回复3楼的问题之前,所有的答案都是无意义的(上午我本来给出答案了,但看到楼主在2楼的补充后又删除了)
作者: hahahawke 时间: 2010-10-12 21:49
不好意思,各位大侠,小生这两天家里电脑出了问题,公司上不了网。
是我的问题,没说清楚,我是想找test[+space]+数字的组合
没说清楚,我的问题。先回一个,我马上看看各位的代码。谢谢!
作者: cjiabing 时间: 2010-10-12 21:50
- findstr/?
- 除非参数有 /C 前缀,请使用空格隔开搜索字符串。
- 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或
- "there" 。 'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找
- "hello there"。
复制代码
作者: powerbat 时间: 2010-10-12 23:34
- findstr.exe /ir /c:"test[ ]*[0-9][0-9]*" 1.txt >2.txt
复制代码
作者: hahahawke 时间: 2010-10-13 01:03
好的,谢谢啦。结贴,多谢各位大侠。
作者: Batcher 时间: 2010-10-13 13:02 标题: 回复 11楼 的帖子
说说到底哪个代码帮你解决了问题吧,以便后来人搜索。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |