中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 12:12
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » (实际问题)考试座位号排版
可打印版本  687 / 12
第1楼 99122524 发表于 2008-05-08 19:17
初级用户 发帖 16 积分 47
(实际问题)考试座位号排版
考试座位号排版:
要求一:
将1.txt中 (400行内容)
按每50行另存为一文件
要求2:以空格为分隔符 选取文件中第三个参数(数字)按从大到小的顺序重新排列每行
要求3:以空格为分隔符 选取文件中第2个参数(假设为C1,C2……)分别重新集中排列
问 三代码分别如何写
第2楼 HAT 发表于 2008-05-08 19:33
版主 发帖 5,017 积分 9,023
GNU
1.

split -n 50 test.txt

2.

sort +2 xaa.txt

3. 看不懂什么意思
第3楼 26933062 发表于 2008-05-08 19:33
银牌会员 发帖 879 积分 2,268
要求3没看懂,
先把1.txt的内容按要求2重新排列,再按每50行另存为一文件可以吗?
第4楼 99122524 发表于 2008-05-08 20:20
初级用户 发帖 16 积分 47
3的意思
意思是找到文本中含有C1的行排放在一起
C2的行又排在一起

1,2,3 能否给完整的代码 谢谢了
第5楼 pusofalse 发表于 2008-05-08 21:12
银牌会员 发帖 646 积分 1,604
1
@echo off&setlocal enabledelayedexpansion
set m=0
set n=0
:1
if %m% equ 0 (set /a m+=1) else (set/a m+=50)
set/a n+=50
set x=0
for /f "tokens=*" %%a in (1.txt) do (
set /a x+=1
for /l %%i in (%m% 1 %n%) do if !x! equ %%i set str=%%a&echo !str!>>%m%-%n%.txt
)
if %n% lss 400 goto 1
pause
第6楼 bat-zw 发表于 2008-05-08 21:34
金牌会员 发帖 1,276 积分 3,105
刚上来,我一个个来写吧:
问题一:
第7楼 bat-zw 发表于 2008-05-08 22:03
金牌会员 发帖 1,276 积分 3,105
第二个问题:
考虑再三为了代码不至于太复杂还是生成一个临时文件好些:

附测试文本:


[ Last edited by zw19750516 on 2008-5-9 at 12:16 AM ]
第8楼 bat-zw 发表于 2008-05-08 22:16
金牌会员 发帖 1,276 积分 3,105
第三个问题:
假设是从c1至c10

附测试文本:


[ Last edited by zw19750516 on 2008-5-9 at 12:40 AM ]
第9楼 bat-zw 发表于 2008-05-08 23:53
金牌会员 发帖 1,276 积分 3,105
太悲哀!!!
悲哀啊,现在的新人提个问题就闪人,连个反馈信息都不想给,看来我是太过于热心了!!!
第10楼 26933062 发表于 2008-05-08 23:55
银牌会员 发帖 879 积分 2,268
楼主不感谢你,其他人却看在眼里的,论坛需要你这样的热心人。。。
加油。。。。。。
第11楼 bat-zw 发表于 2008-05-09 00:04
金牌会员 发帖 1,276 积分 3,105
&&多谢兄弟,其实我没别的意思,我们给的代码不可能每个都正确,也不会每个都自己测试,这就要求我们所帮助的人及时反馈信息,我们才好及时改正啊,我就这个意思。
第12楼 pusofalse 发表于 2008-05-09 00:06
银牌会员 发帖 646 积分 1,604
^_^
第13楼 99122524 发表于 2008-05-09 10:24
初级用户 发帖 16 积分 47
小弟在此先谢过了
昨天我等了好久 一直没刷新 所以没看到你们的回复 万分的歉意
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023