[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何将文本内容按根据每一行最后一个指定字符后面的内容排序?

本帖最后由 pcl_test 于 2016-12-2 14:43 编辑

有一串这样的网址
http://www.a.com/id=126&0101=broadband
http://www.a.com/id=166&0101=narrowband
http://www.a.com/id=1760101=flash
http://www.a.com/id=1860101=mp3
http://www.a.com/id=2560601=broadband
http://www.a.com/id=1660601=narrowband
http://www.a.com/id=1760601=flash
http://www.a.com/id=1650601=mp3

只要求以最后一个等号之后的相同的类型内容进行排序  
sort /+22 1.txt 运行不成功   这样用批处理该如何写?
1

评分人数

    • hanyeguxing: 感谢给帖子标题标注[已解决]字样PB + 2

"相同的类型内容" 这说的是什么话呀??
  1. sort /+28 1.txt
复制代码
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

TOP

来一个另类思路
  1. @echo off
  2. (for /f "tokens=1-5 delims==" %%a in (a.txt) do echo %%e=%%d=%%c=%%b=%%a)>s.txt
  3. (for /f "tokens=1-5 delims==" %%a in ('sort s.txt') do (
  4. for /f "tokens=* delims==" %%f in ("%%e=%%d=%%c=%%b=%%a") do echo %%f
  5. ))>a.txt
  6. pause
复制代码

TOP

4# zm900612

是不是哪里错了? 排序成这样了
==broadband=126&0101=http://www.a.com/id
==broadband=2560601=http://www.a.com/id
==narrowband=166&0101=http://www.a.com/id
==narrowband=1660601=http://www.a.com/id
==mp3=1860101=http://www.a.com/id
==mp3=1650601=http://www.a.com/id
==audio=5660101=http://www.a.com/id
==flash=1760101=http://www.a.com/id
==flash=1760601=http://www.a.com/id

TOP

这是临时文件的内容,处理结果存在a.txt中

TOP

如果没有特殊说明,大部分代码最后出现的一个输出到文件的动作就是在输出结果

TOP

1# zcdyj
  1. C:\UnxUtils\sort.exe -t= -k3,3 1.txt | more >2.txt
复制代码
http://bbs.bathome.net/thread-1114-1-1.html
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

感谢大家 完美解决了 管理员推荐的这个UnxUtils工具包很好用

TOP

返回列表