|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
16 楼』:
8楼的方法确实好,如此简洁..
就是不太理解 findstr 命令的表达式
$ 不是代表行尾吗?那么 findstr $ 应该是匹配最后一行啊?怎么会是忽略最后一行呢?
不解,望高人指点.
|
|
2007-8-8 17:29 |
|
|
ansipeter
中级用户
替身
积分 269
发帖 130
注册 2007-3-23
状态 离线
|
『第
17 楼』:
他的findstr $ a.txt的意思不就是查找有结束符的行吗?你最后一行只要不按回车不就排除了吗?哎
|
|
2007-8-8 17:32 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
18 楼』:
17楼的解释并没有错,MS对findstr $ 的解释是匹配行尾,实际上,查找的是一行的回车换行符号,这也是使用 findstr ^.*$ 做整行匹配时必须注意的一个问题,稍微不细心就要出错。比如,findstr ^abc$ test.txt 的本意是要查找 abc 这个字符串行,如果 abc 这个字符串行正好位于最后一行的话,就无法匹配到,解决的办法是强制在 test.txt 的最后一行后添加新行,比如说一个空行。
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2007-8-9 10:14 |
|
|
ansipeter
中级用户
替身
积分 269
发帖 130
注册 2007-3-23
状态 离线
|
『第
19 楼』:
知道为什么他这么回答吗?因为我还是个新手,还是个初级用户,如果我是版主,他的回答就会变成“有些不理解,请版主明示”,哎,对于所谓的高级用户我的任何解释都是无效的,要不我说论坛变得越来越拉圾啦,论坛今后的发展令人担忧啊.........
对了,namejm最近学习WMIC怎么样?入门没有?
[ Last edited by ansipeter on 2007-8-9 at 11:32 AM ]
|
|
2007-8-9 11:29 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
20 楼』:
其实,考虑问题需要多转几道弯,虽然别人没有把你想要的答案直接说出来,但是,别人说到了点子上,并没有展开来,这个时候,你就得再做一些推论。
就你的疑问,解释如下:
1、因为 findstr $ 的实质是查找行尾的回车换行符号,又因为除了最后一行之外的所有行的行尾都存在这个符号,所以,最后一行之外的所有行都能够查找到;
2、因为最后一行虽然看起来是完整的一行,但是,它的尾部并没有回车换行符号,而 findstr $ 是以回车换行符号来识别某个字符串是不是一个"行",所以,最后一行不能被识别;
3、综上所述,findstr $ 只能找到除了最后一行之外的其它行(除了以分号打头的行——注:这个是有条件限制的,如24楼所说的条件),最后一行因为行尾没有回车换行符号而被 findstr $ 忽略了,也就达到了删除最后一行的目的。
[ Last edited by namejm on 2007-8-9 at 02:52 PM ]
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2007-8-9 12:18 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
21 楼』:
茅塞顿开!
findstr 的表达式是有很多不太好理解啊.
再请问一句, (除了以分号打头的行) 是什么意识?
我试了一下,分号打头的行也可以匹配啊?
谢了.
[ Last edited by 26933062 on 2007-8-11 at 07:32 AM ]
|
致精致简! |
|
2007-8-9 14:16 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
22 楼』:
呵呵,findstr $ 不能查找以分号打头的行,这个是有条件限制的,我忘记说了,是在这样的语句中是不能查找的:for /f "delims=" %%i in ('findstr $ test.txt') ……
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2007-8-9 14:50 |
|
|
kingyn
初级用户
积分 32
发帖 21
注册 2007-8-22
状态 离线
|
『第
23 楼』:
哇,热处理这么复杂呀,让我越学越觉累
|
|
2007-8-27 19:41 |
|
|
lhkyzh
初级用户
积分 34
发帖 12
注册 2006-6-4
状态 离线
|
『第
24 楼』:
那么删除最后两行的语句应该怎么写呢?
findstr $ a.txt >>b.txt是很精简,但是不能删除空行。
|
|
2008-1-22 23:09 |
|