标题: [文本处理] 【已解决】批处理怎样把TXT文档,取单行,得到数据按小到大顺序排列? [打印本页]
作者: 976235887 时间: 2015-8-26 09:56 标题: 【已解决】批处理怎样把TXT文档,取单行,得到数据按小到大顺序排列?
本帖最后由 976235887 于 2015-9-7 08:27 编辑
a.txt文档如下
1222
1333
2555
5522
1155
4545
要求:1取单行的数据:
1222
2555
1155
要求:2取到的数据之后按从小到大的顺序排列
1155
1222
2555
作者: 尘丶 时间: 2015-8-26 10:11
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (a.txt) do (
- set /a n+=1
- set /a num=!n!%%2
- if !num!==1 echo;%%a&set "shuzi=!shuzi!%%a "
- )
- echo.
- for /l %%a in (0,1,100000) do (
- for %%b in (!shuzi!) do (
- if %%a==%%b echo;%%b>>2.txt
- )
- )
- pause
复制代码
文本里面的数字有多大 for /l In 后面的数字就改多大
作者: flyinnet9 时间: 2015-8-26 10:34
本帖最后由 flyinnet9 于 2015-8-26 11:22 编辑
看错了。。。。。- @echo off
- setlocal enabledelayedexpansion
- set n=0
- :s
- for /f "delims=" %%a in ('more +!n! a.txt') do (
- echo %%a >>tmp
- set /a n=n+2
- if "%%a" neq "" goto s
- )
- sort tmp >2.txt
- del tmp /q
复制代码
作者: aa77dd@163.com 时间: 2015-8-26 10:50
- @echo off & setlocal EnableDelayedExpansion
- if "%1"=="sub" (
- for /f %%a in (a.txt) do (
- set /a "t=1-t"
- if !t!==1 (
- set "s= %%a"
- (echo;!s:~-20!)
- )
- )
- exit
- ) else (
- >b.txt ( for /f %%a in ('cmd /c %0 sub ^| sort') do echo %%a )
- )
-
- start b.txt
- pause
复制代码
作者: pcl_test 时间: 2015-8-26 11:47
- :先下载http://batch-cn.qiniudn.com/tool/gawk.exe
- @(gawk "NR%%2" "a.txt")|sort >"b.txt"
复制代码
作者: 回家路上 时间: 2015-8-26 12:14
- @echo off & setlocal enabledelayedexpansion
- %1%~f0 :|sort&pause&exit /b
- for /f "delims=" %%i in (1.txt) do (
- set /a line+=1,li=line%%2
- if !li!==1 echo;%%i
- )
复制代码
作者: 976235887 时间: 2015-9-7 08:27
谢谢以上各位。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |