标题: [文本处理] [已解决]批处理怎样打乱指定文本文件里边的行序? [打印本页]
作者: lj84831253 时间: 2010-5-19 13:55 标题: [已解决]批处理怎样打乱指定文本文件里边的行序?
比如1.txt里边的内容为:
5d6f4ghdg
452156dfg561d65
士大夫4顺丰
dg5df6565d
5dg645d465
撒旦52士大夫
然后将其打乱输出到2.txt,要求输出的行不能有重复的,可以吗?
作者: 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
- exit
- :n
- set n=%random%
- if defined #%n% goto:n
复制代码
作者: Batcher 时间: 2010-5-19 15:31
如何用批处理使文本内容乱序?
http://bbs.bathome.net/thread-5806-1-1.html
作者: CUer 时间: 2010-5-24 20:36
- gawk "{a[$0]}END{for(i in a)print i}" 1.txt >2.txt
复制代码
作者: fakker 时间: 2010-8-15 17:04 标题: 楼上的,这个gawk开头的代码正确吗?
这个gawk开头的代码正确吗?批处理没真正从头开始完全学习过,DOS命令倒是会一些!
作者: fakker 时间: 2010-8-15 17:10 标题: 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 编辑 ]
作者: Batcher 时间: 2010-8-15 18:10 标题: 回复 5楼 的帖子
去下载一个gawk试试吧
http://bbs.bathome.net/thread-3981-1-1.html
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |