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

[文本处理] 批处理如何将文本里的内容按每一行中以指定字符分割的最后一个字段/列排序?

本帖最后由 pcl_test 于 2016-11-10 14:12 编辑

就是以每行的最后一个/开始排序.

例如:
张三http://www.bathome.net/post.gefc ... crswd=5/hgeodhiroge
李四钱http://www.bathome.net/post.phpp ... mp;fid=5/bdieodhiro
王五节http://www.bathome.net/post.php/ ... h=5/afowidogrhdfeeh

这三个按
/hgeodhiroge
/bdieodhiro
/afowidogrhdfeeh

/afowidogrhdfeeh
/bdieodhiro
/hgeodhiroge
结果为
王五节http://www.bathome.net/post.php/ ... h=5/afowidogrhdfeeh
李四钱http://www.bathome.net/post.php?action=ned&fid=5/bdieodhiro
张三http://www.bathome.net/post.gefc ... crswd=5/hgeodhiroge

谢谢

路过。。。

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. %1(for /f "tokens=1*delims=$" %%i in ('"%~f0" :^|sort') do echo;%%j)& pause & exit /b
  3. for /f "delims=" %%a in (1.txt) do (
  4. set line=%%a
  5. set line=!line:/=.!
  6. for /f "delims=" %%i in ("!line!") do echo;%%~xi$%%a
  7. )
复制代码
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回家路上 发表于 2016-1-7 10:53


只能看不能用啊.我一复制粘贴窗口就关了.

TOP

回复 3# 回家路上

可再适当精简下
  1. @echo off
  2. %1(for /f "tokens=1*delims=|" %%i in ('"%~f0" :^|sort') do echo;%%j)& pause & exit /b
  3. for /f "delims=" %%a in (1.txt) do echo;%%~na^|%%~a
复制代码
1

评分人数

TOP

  1.     @echo off
  2.     %1(for /f "tokens=1*delims=|" %%i in ('"%~f0" :^|sort') do echo;%%j) >>bb.txt& pause & exit /b
  3.     for /f "delims=" %%a in (1.txt) do echo;%%~na^|%%~a
  4.    
复制代码
把1.txt写入bb.txt

TOP

  1. powershell -c "gc '文本.txt'|sort {$_.split('/')[-1]}"
  2. pause
复制代码

TOP

返回列表