找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30588|回复: 6

[文本处理] [已解决]批处理怎样打乱指定文本文件里边的行序?

[复制链接]
发表于 2010-5-19 13:55:23 | 显示全部楼层 |阅读模式
比如1.txt里边的内容为:
5d6f4ghdg
452156dfg561d65
士大夫4顺丰
dg5df6565d
5dg645d465
撒旦52士大夫
然后将其打乱输出到2.txt,要求输出的行不能有重复的,可以吗?

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2010-5-19 14:42:37 | 显示全部楼层
完全打乱顺序:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /F "delims=" %%i in (1.txt) do call:n&for %%j in (#!n!) do set "%%j=%%i"
  3. (for /F "tokens=1* delims==" %%i in ('set #') do echo.%%j)>2.txt
  4. exit
  5. :n
  6. set n=%random%
  7. if defined #%n% goto:n
复制代码

评分

参与人数 1PB +5 收起 理由
CrLf + 5 乐于助人

查看全部评分

发表于 2010-5-19 15:31:50 | 显示全部楼层
如何用批处理使文本内容乱序?
http://bbs.bathome.net/thread-5806-1-1.html

评分

参与人数 1PB +5 收起 理由
CrLf + 5 乐于助人

查看全部评分

发表于 2010-5-24 20:36:20 | 显示全部楼层
  1. gawk "{a[$0]}END{for(i in a)print i}" 1.txt >2.txt
复制代码
发表于 2010-8-15 17:04:31 | 显示全部楼层

楼上的,这个gawk开头的代码正确吗?

这个gawk开头的代码正确吗?批处理没真正从头开始完全学习过,DOS命令倒是会一些!

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2010-8-15 17:10:03 | 显示全部楼层

hanyeguxing兄,这个代码不能去掉重复的行

原帖由 hanyeguxing 于 2010-5-19 14:42 发表
完全打乱顺序:@echo off&setlocal enabledelayedexpansion
for /F "delims=" %%i in (1.txt) do call:n&for %%j in (#!n!) do set "%%j=%%i"
(for /F "tokens=1* delims==" %%i in ('set #') do echo.%%j)>2.txt
...


已测试,能打乱行序,不能过滤重复的,有谁知道怎么在打乱行序的同时去掉重复的行?

[ 本帖最后由 fakker 于 2010-8-15 17:30 编辑 ]
发表于 2010-8-15 18:10:48 | 显示全部楼层

回复 5楼 的帖子

去下载一个gawk试试吧
http://bbs.bathome.net/thread-3981-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 02:09 , Processed in 0.019297 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表