[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
哦.看来只有另外想办法了....

利用skip吧..
  1. @echo off
  2. for /f "tokens=* " %%m in ('findstr /r "^A[0-9][0-9][0-9]$" 1.txt ^| sort /+1') do (
  3.         for /f "delims=: tokens=1,2 " %%i in ('findstr /n /r "^A[0-9][0-9][0-9]$" 1.txt') do if "%%j"=="%%m" echo %%m & call :loop %%i
  4.         echo.
  5.         )
  6. goto :exit
  7. :loop
  8.         for /f "skip=%1 tokens=* " %%n in (1.txt) do (
  9.                 echo %%n| findstr /r "^A[0-9][0-9][0-9]$">nul
  10.                 if not errorlevel 1 goto :EOF
  11.                 echo %%n
  12.                 )
  13.         goto :EOF
  14. :exit
  15. pause
复制代码

[ 本帖最后由 flyinspace 于 2008-9-3 14:59 编辑 ]
1

评分人数

    • pusofalse: 兄的水平不只是如此而已。PB + 5

TOP

原帖由 batman 于 2008-9-2 20:10 发表

如就本题而言,这应该是最简洁的方案了,但如果要通用可能还是要用到set进行排序。


哦。。。那么文本的格式稍微变一下。

保持原题不变呢。

只是少了行距,和多了混乱的格式而已。
  1. A111
  2. Assure
  3. A12
  4. Cons tant
  5. Smail
  6. A012
  7. Exa
  8. Explosive
  9. Weird
  10. A12345
  11. Admission
  12. A077
  13. Chant
  14. Reli gious
  15. Praise
  16. Rhyming
  17. 32987
  18. Parsley
  19. A034
  20. Faith
  21. Zealous
  22. Absorb
  23. 24980
  24. Principle
复制代码

TOP

原帖由 pusofalse 于 2008-9-3 15:15 发表
还是一样的解法吧,只不过要麻烦了。先找出哪些是序号,在序号前补位。
不知还有什么方法。


只是看到你解决问题的方案比较儿戏。
不过也够简洁。

所以故意难为你一下。

TOP

返回列表