Board logo

标题: [文本处理] [已解决]批处理怎样根据txt文本每行数字的大小进行行排序? [打印本页]

作者: lj84831253    时间: 2010-6-4 13:30     标题: [已解决]批处理怎样根据txt文本每行数字的大小进行行排序?

本帖最后由 pcl_test 于 2016-7-12 13:27 编辑

例如1.txt文件内的内容为:
4684
0
5
55
263564
要求由小到大排序到2.txt。排序后的内容为:
0
5
55
4684
263564
谢谢!~

[ 本帖最后由 lj84831253 于 2010-6-4 20:13 编辑 ]
作者: lj84831253    时间: 2010-6-4 18:23

nobody?            nobody?
作者: yangfengoo    时间: 2010-6-4 18:32

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims=:" %%a in ('findstr /n .* 1.txt') do set yy%%a=%%b&set n=%%a
  3. for /l %%a in (1,1,!n!) do (
  4. set /a z+=1
  5. for /l %%b in (!z!,1,!n!) do (
  6.   if !yy%%a! gtr !yy%%b! set dd=!yy%%a!&set yy%%a=!yy%%b!&set yy%%b=!dd!
  7.   )
  8.   )
  9. (for /l %%a in (1 1 !n!) do echo,!yy%%a!)>2.txt
复制代码

作者: defanive    时间: 2010-6-4 21:28

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%a in (1.txt) do (
  4. set m=##########%%a
  5. set sort#!m:~-10!#=0
  6. )
  7. (for /f "tokens=2 delims=#" %%a in ('set sort') do echo %%a)>2.txt
复制代码
效率比较高。。。
作者: CUer    时间: 2010-6-4 21:52

GNU for windows的sort.exe
  1. sort -n 1.txt
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2