中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-19 10:23
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]findstr查找以[开头并且]结尾的行 查看 1,858 回复 17
楼 主 [求助]findstr查找以[开头并且]结尾的行 发表于 2008-08-01 16:03 ·  中国 四川 德阳 电信
初级用户
积分 96
发帖 45
注册 2007-03-20 06:24
UID 82322
性别 男
状态 离线
如题,假设文本文档123.txt中有类似以下字符
yiqiweiaoyunjiayou



]end title



abc
abcdef
我想查找以结尾的行并显示



代码findstr "^$"不对,应该如何修改?谢谢!

[ Last edited by joyoustar on 2008-8-2 at 10:44 AM ]
2 发表于 2008-08-01 16:37 ·  中国 北京 光环新网
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
UID 55770
状态 离线
findstr "[^$]"

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
3 发表于 2008-08-01 16:49 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
UID 97070
性别 男
状态 离线
findstr ^$
4 发表于 2008-08-01 17:13 ·  中国 北京 联通
社区乞丐
积分 -61
发帖 37
注册 2008-04-19 17:10
UID 116329
性别 男
状态 离线

findstr /r "^\$" 123.txt


在FINDSTR命令中属于正则表达式的元字符范围,所以必须要用\来进行字符化
5 发表于 2008-08-01 17:17 ·  中国 四川 德阳 电信
初级用户
积分 96
发帖 45
注册 2007-03-20 06:24
UID 82322
性别 男
状态 离线
谢谢楼上。
6 发表于 2008-08-01 17:19 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
UID 97070
性别 男
状态 离线
Originally posted by FQ at 2008-8-1 05:13 PM:

findstr /r "^\$" 123.txt


在FINDSTR命令中属于正则表达式的元字符范围,所以必须要用\来进行字符化

如果最后一行就是,而不是空行的话,将不会显示。
7 发表于 2008-08-01 17:26 ·  中国 四川 德阳 电信
初级用户
积分 96
发帖 45
注册 2007-03-20 06:24
UID 82322
性别 男
状态 离线
同意楼上
8 发表于 2008-08-01 17:27 ·  中国 四川 德阳 电信
初级用户
积分 96
发帖 45
注册 2007-03-20 06:24
UID 82322
性别 男
状态 离线
为何不能显示最后一行[12345]呢
9 发表于 2008-08-01 17:28 ·  中国 北京 联通
社区乞丐
积分 -61
发帖 37
注册 2008-04-19 17:10
UID 116329
性别 男
状态 离线
你不要光说我的代码,你自己也看看你的代码在说吧

aaa[dddd]
10 发表于 2008-08-01 17:29 ·  中国 北京 联通
社区乞丐
积分 -61
发帖 37
注册 2008-04-19 17:10
UID 116329
性别 男
状态 离线
只要你最后一行有回车换行符我的代码足够
11 发表于 2008-08-01 17:39 ·  中国 四川 德阳 电信
初级用户
积分 96
发帖 45
注册 2007-03-20 06:24
UID 82322
性别 男
状态 离线
Originally posted by FQ at 2008-8-1 05:29 PM:
只要你最后一行有回车换行符我的代码足够

谢谢,但总感觉哪里再修改那么一点点就完美了!确实有时最后没有换行符。
s11ss兄的代码没错,但能用类似"findstr "^\$" 123.txt"的最好不过了。
12 发表于 2008-08-01 19:59 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
UID 97070
性别 男
状态 离线
Originally posted by FQ at 2008-8-1 05:28 PM:
你不要光说我的代码,你自己也看看你的代码在说吧

aaa

这行本来就不应当显示,不是以
13 发表于 2008-08-02 08:29 ·  中国 北京 联通
社区乞丐
积分 -61
发帖 37
注册 2008-04-19 17:10
UID 116329
性别 男
状态 离线
唉,关键的关键是他显示了啊
14 发表于 2008-08-02 10:43 ·  中国 四川 德阳 电信
初级用户
积分 96
发帖 45
注册 2007-03-20 06:24
UID 82322
性别 男
状态 离线
Originally posted by s11ss at 2008-8-1 04:49 PM:
findstr ^$

确实有些不对,我开始还没注意到这点,如果
15 发表于 2008-08-02 10:48 ·  中国 江苏 苏州 电信
高级用户
★★
五星老土
积分 558
发帖 172
注册 2003-02-09 00:00
UID 881
性别 男
来自 江苏
状态 离线
Originally posted by joyoustar at 2008-8-1 05:39 PM:

谢谢,但总感觉哪里再修改那么一点点就完美了!确实有时最后没有换行符。
s11ss兄的代码没错,但能用类似"findstr "^\$" 123.txt"的最好不过了。


没有回车行, 就强行加一个, 我有时就这样做的。

在处理 123.txt 之前,不管它最后一行有没有回车符。先执行以下代码:

echo. >>123.txt
我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
论坛跳转: