标题: [文本处理] [己解决]批处理将文本中每行按特定位置的数字从小到大排序 [打印本页]
作者: keshun 时间: 2014-2-17 10:54 标题: [己解决]批处理将文本中每行按特定位置的数字从小到大排序
本帖最后由 pcl_test 于 2017-3-25 07:47 编辑
批处理对a.txt进行处理得出b.txt,求代码?谢谢!
主要是方便检查是否有重复IP。比如下面两个192.168.81.50,进行顺序排列容易排查出来进行手动更正。
a.txt内容如下:
user=2549 assign_ip=192.168.81.50
user=2216 assign_ip=192.168.81.26
user=2217 assign_ip=192.168.81.17
user=2345 assign_ip=192.168.81.45
user=2458 assign_ip=192.168.81.40
user=2256 assign_ip=192.168.81.56
user=2114 assign_ip=192.168.81.14
user=2478 assign_ip=192.168.81.78
user=2350 assign_ip=192.168.81.50
b.txt内容如下:
user=2114 assign_ip=192.168.81.14
user=2217 assign_ip=192.168.81.17
user=2216 assign_ip=192.168.81.26
user=2458 assign_ip=192.168.81.40
user=2345 assign_ip=192.168.81.45
user=2549 assign_ip=192.168.81.50
user=2350 assign_ip=192.168.81.50
user=2256 assign_ip=192.168.81.56
user=2478 assign_ip=192.168.81.78
作者: apang 时间: 2014-2-17 11:10
- @echo off
- %1(for /f "tokens=1*" %%a in ('"%~0" :^|sort') do echo,%%b)>b.txt&exit/b
- for /f "tokens=1-3delims==" %%a in (a.txt) do echo,%%c %%a=%%b=%%c
复制代码
作者: keshun 时间: 2014-2-17 17:45
回复 2# apang
谢谢,代码试过可以,但把a.txt文本内容更改如下格式就会出错,望解决?
user=2549 profile=vip4M assign_ip=192.168.81.49
user=2216 profile=vip8M assign_ip=192.168.81.26
user=2217 profile=vip4M assign_ip=192.168.81.17
user=2345 profile=vip4M assign_ip=192.168.81.45
user=2458 profile=vip8M assign_ip=192.168.81.40
user=2256 profile=vip4M assign_ip=192.168.81.56
user=2114 profile=vip4M assign_ip=192.168.81.14
作者: xxpinqz 时间: 2014-2-17 19:42
10年,多少懂点for吧,几分钟看下置顶贴for入门到精通。
作者: keshun 时间: 2014-2-17 21:50
回复 4# xxpinqz
谢谢提醒,自己修改后OK了。- @echo off
- %1(for /f "tokens=1*" %%a in ('"%~0" :^|sort') do echo,%%b)>>b.txt&exit/b
- for /f "tokens=1-4delims==" %%a in (a.txt) do echo,%%d %%a=%%b=%%c=%%d
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |