中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 20:49
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 高手们帮忙优化一下代码 查看 2,839 回复 41
31 发表于 2008-09-16 21:05 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
如果你有your_file这个文件,就把这个命令里面your_file前面的单引号去掉。
32 发表于 2008-09-16 21:13 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
gawk "{for (i=1;i<=NF;i++) { if($i~/^5-/){ split($i,a,/-/); if(a>max) max=a; }}} END{print max}" "a.txt"
33 发表于 2008-09-16 21:39 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
可以用了,能标志一下意思吗 ?好让我自己学着修改,特别是显示的那段

[ Last edited by dragonamd on 2008-9-16 at 09:40 PM ]
34 发表于 2008-09-16 21:44 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
print max
“显示的那段”就是这里,打印max的值,标志完毕。

ps.不知斑竹是否有哭笑不得的感觉。
35 发表于 2008-09-16 21:49 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
HAT大哥,我是很菜,但我在努力学习,难道就这样笑话新人吗 ?至少在P处理方面学到很多了,不管怎么样都要谢谢你们
print max 这段我换了行就不能显示,。因为我想把标记放到别处去
36 发表于 2008-09-16 21:58 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
这个,我没有笑话任何人的意思,造成了不比要的误会,抱歉。
我的意思是,斑竹已经回答的很清楚了,让你把your_file改成自己的文件名,建议看回过头再看看斑竹的回答。

//print max 这段我换了行就不能显示,。因为我想把标记放到别处去
我很笨,看不懂什么意思,能否把你修改后的代码贴出来看看?
37 发表于 2008-09-16 22:04 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
gawk "{for (i=1;i<=NF;i++) { if($i~/^5-/){ split($i,a,/-/); if(a>max) max=a; }}} END{print max}" "a.txt"
@echo %NewFile% %ste%  %sty% %max% 我想把很多变量放在一起显示

[ Last edited by dragonamd on 2008-9-17 at 12:43 AM ]
38 发表于 2008-09-17 00:44 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
帮帮我好吗 ? 对这个实在不懂了,刚才看了网上很教程,都没提到这段
39 发表于 2008-09-17 07:48 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
这样试试看

gawk "{for (i=1;i<=NF;i++) { if($i~/^5-/){ split($i,a,/-/); if(a>max) max=a; }}} END{print max}" "a.txt" > %temp%\tmp.p
set /p max=<%temp%\tmp.p
echo max 的值为 .
40 发表于 2008-09-17 09:28 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
斑竹的办法是把值写入到临时,再读取对吗?
41 发表于 2008-09-17 18:42 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by dragonamd at 2008-9-17 09:28:
斑竹的办法是把值写入到临时,再读取对吗?

嗯,有什么问题吗?
42 发表于 2008-09-17 20:49 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
18年会员
UID 122532
性别 男
状态 离线
没有问题,昨天晚上我也想过,但不会写,。效率很高,努力学习
论坛跳转: