标题: [文件操作] 批处理怎样将txt文本内容根据每一行指定字段/列的数字排序? [打印本页]
作者: cmdlet 时间: 2015-8-27 17:13 标题: 批处理怎样将txt文本内容根据每一行指定字段/列的数字排序?
本帖最后由 pcl_test 于 2016-11-8 22:45 编辑
45.64.21.14 1173 a248.e.akamai.net
202.175.5.103 955 a248.e.akamai.net
202.175.5.184 2189 a248.e.akamai.net
...下面还有几千条,不列举了
以上为随机输出结果,我需要将这个随机文档重新排序前面是IP 中间是延时,需要按照中间的延时数字排序(延时小的在前面)然后重新输出文本,这种格式:
202.175.5.103 955 a248.e.akamai.net
45.64.21.14 1173 a248.e.akamai.net
202.175.5.184 2189 a248.e.akamai.net
...下面还有几千条,不列举了
请问BAT如何实现
作者: aa77dd@163.com 时间: 2015-8-27 17:32
- @echo off & setlocal EnableDelayedExpansion
-
- if "%1"=="sub" (
- for /f "tokens=1-3" %%a in (a.txt) do (
- set "s= %%b"
- echo !s:~-10! %%a %%c
- )
- exit
- ) else (
- >b.txt ( for /f "tokens=1-3" %%a in ('cmd /c %0 sub ^| sort') do echo %%b %%a %%c)
- )
-
- start b.txt
- pause
复制代码
作者: pcl_test 时间: 2015-8-27 18:10
本帖最后由 pcl_test 于 2016-11-8 23:08 编辑
用Excel亦可快捷排序
第三方 gnu sort- ::先下载http://batch-cn.qiniudn.com/tool/2.1/sort.exe
- @sort -n -k 2 "1.txt">"2.txt"
复制代码
- rem win7及以上系统运行
- powershell -c "gc '文本.txt'|sort {1*($_ -split '\s+')[1]}"
- pause
复制代码
作者: cmdlet 时间: 2015-8-27 21:55
回复 2# aa77dd@163.com
膜拜 ,多谢大神,能用!但是是这样的,能去掉上面的路径么
D:\Program Files (x86)\psiphon3\checkakamai>echo 203.78.32.86 505 a248.e.akamai.net
203.78.32.86 505 a248.e.akamai.net
D:\Program Files (x86)\psiphon3\checkakamai>echo 203.78.32.104 507 a248.e.akamai.net
203.78.32.104 507 a248.e.akamai.net
D:\Program Files (x86)\psiphon3\checkakamai>echo 203.78.32.70 509 a248.e.akamai.net
203.78.32.70 509 a248.e.akamai.net
作者: cmdlet 时间: 2015-8-27 21:59
回复 3# pcl_test
谢谢大神 我试试
作者: cmdlet 时间: 2015-8-27 22:10
回复 3# pcl_test
太牛了,能用,学习了!!
作者: terse 时间: 2015-8-27 22:55
- @if(0)==(0) echo off
- CScript -NoLogo -E:JScript %0 <a.txt >b.txt
- pause&goto:eof
- @end
- var arr = [];
- while (!WScript.StdIn.AtEndOfStream){
- arr.push(WScript.StdIn.Readline().replace(/ +/," ").split(" "));
- }
- arr.sort(function(a, b){ return a[1] - b[1] });
- for (var i = 0, len = arr.length; i < len; i++) {
- WSH.Echo(arr[i].join(" "))
- }
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |