标题: [文本处理] 批处理如何将txt内的数字从小到大排列? [打印本页]
作者: 我是一只小小鸟 时间: 2018-5-13 18:01 标题: 批处理如何将txt内的数字从小到大排列?
如何让txt内的文本从小到大排列呢?每一行的内容都是图中所示的八位数字
感谢大家的热心,我用notepad++处理好了,
作者: hlzj88 时间: 2018-5-13 18:45
- for /f %%i in (11.txt) do echo.>%%i.ini
- for /f %%i in ('dir /b/on *.ini') do echo %%~ni>>ok.txt
- del *.ini
复制代码
作者: yhcfsr 时间: 2018-5-13 20:17
- @echo off
- for /f %%a in ('type "list.txt"') do set "_%%a=%%a"
- (for /f "tokens=2 delims==" %%a in ('set _') do echo;%%a)>"list.log"
- pause
复制代码
作者: zaqmlp 时间: 2018-5-13 21:04
位数一样,那么sort<1.txt>2.txt
作者: 我是一只小小鸟 时间: 2018-5-14 09:25
回复 2# hlzj88
你好,谢谢你的乐心,不过你的代码,把我给搞崩溃了。你是每一行创建了一个ini文件,我的txt文本里有300万行,结果创建了三百万个文件,系统给严重卡死了。
作者: 我是一只小小鸟 时间: 2018-5-14 09:27
回复 4# zaqmlp
位数是一样的,sort<1.txt>2.txt,这个代码是什么意思,可以解释一下吗,我看不懂
作者: 我是一只小小鸟 时间: 2018-5-14 09:28
回复 3# yhcfsr
你好,我的行数有300万行,用你的代码十多分钟了,还没有出结果。是不是有什么错误呢。我的位数都一样的
作者: yhcfsr 时间: 2018-5-14 09:51
本帖最后由 yhcfsr 于 2018-5-14 09:53 编辑
回复 7# 我是一只小小鸟
300万行,BAT处理估计得个把小时了,而且这种以建变量的方式排序,300万个变量,小内存电脑估计吃不消。
长文件应该用powershell,即使是powershell,只怕也要花很长时间,要是只有几个文件,就EXCEL排序吧。
你把文件上传到网盘,让我来测试下,powershell排序要多久?
作者: 我是一只小小鸟 时间: 2018-5-14 11:37
回复 8# yhcfsr
我用notepad++来修改了,notepad++只用了五秒钟就处理完了
作者: yhcfsr 时间: 2018-5-14 11:57
回复 9# 我是一只小小鸟
从来不曾注意到天天用的notepad++还有这功能,学习了。
作者: CrLf 时间: 2018-5-14 18:01
用 4 楼的 sort 方案也这么慢么?
作者: CrLf 时间: 2018-5-14 18:02
回复 8# yhcfsr
powershell 处理这种 300 万行的大文本应该也会有点慢
作者: 我是一只小小鸟 时间: 2018-5-14 22:15
回复 11# CrLf
四楼的我不懂怎么用。是直接复制那个代码吗?我用的是notepad++来解决了这个问题
作者: CrLf 时间: 2018-5-15 17:45
回复 13# 我是一只小小鸟
没事,解决了就好。理论上那个也挺快
作者: Batcher 时间: 2018-5-15 21:47
回复 13# 我是一只小小鸟
4楼代码保存为 test.bat 执行一下看看能否成功,没有问题的话我可以给你解释一下代码是什么意思。
作者: tigerpower 时间: 2018-5-15 22:46
亲测了,notepad++数字排序很快,300万行5秒左右。
Windows自带的sort,加上选项也是5秒左右:- sort /L C unsorted.txt > sorted.txt
复制代码
作者: 我是一只小小鸟 时间: 2018-5-17 16:42
回复 16# tigerpower
非常感谢,你这个代码很好用
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |