Board logo

标题: [文本处理] shuf.exe --- 随机排序 [打印本页]

作者: tmplinshi    时间: 2013-4-19 00:24     标题: shuf.exe --- 随机排序

Usage: shuf.exe [OPTION]... [FILE]
       shuf.exe -e [OPTION]... [ARG]...
       shuf.exe -i LO-HI [OPTION]...

Write a random permutation of the input lines to standard output.

  -e, --echo                treat each ARG as an input line
  -i, --input-range=LO-HI   treat each number LO through HI as an input line
  -n, --head-lines=LINES    output at most LINES lines
  -o, --output=FILE         write result to FILE instead of standard output
      --random-source=FILE  get random bytes from FILE via MD5 hash
                            DEFAULT:  (or not specified) gettimeofday()
  -z, --zero-terminated     end lines with 0 byte, not newline
      --help     display this help and exit
      --version  output version information and exit


----------------------------
官网: http://home.comcast.net/~mjvincent/software/home.html
----------------------------
http://bcn.bathome.net/s/tool/index.html?key=shuf
作者: CrLf    时间: 2013-4-19 17:08

部分转自 http://www.lampblog.net/ubuntu/shuf%E5%91%BD%E4%BB%A4/

用法:shuf.exe [选项] ... [文件]
       shuf.exe -e [选项] ... [参数] ...
       shuf.exe -i LO-HI [选项] ...

将输入行随机排列输出到标准输出。

-e, --echo            将每个参数视为输入行
-i, --input-range=LO-HI    将LO 到HI 的每个数字视为输入行
-n, --head-count=行数        最多输出指定的行数
-o, --output=文件        将结果输出到指定文件而非标准输出
     --random-source=文件    从指定文件获得随机比特
-z, --zero-terminated    以0 结束行而非新行
     --help        显示此帮助信息并退出
     --version        显示版本信息并退出



应用实例

1、把输入行按随机顺序输出到标准输出
  1. shuf emailfile.txt
复制代码
2、从asciitab.list 文件中随机取出一行数据
  1. shuf -n 1 asciitab.list
复制代码
3、把输入行按随机顺序输出到指定文件
  1. shuf emailfile.txt -o out.txt
复制代码

作者: elec    时间: 2014-7-18 11:20

回复 2# CrLf


    经测试这个版本的shuf.exe -n选项执行不正常
  1. shuf -n5 1.txt -o 2.txt
复制代码
会输出1.txt的全部内容。

@CrLf前辈发的cygwin/bin 中的命令行工具。shuf命令执行正常
http://www.bathome.net/thread-25476-1-1.html
作者: CrLf    时间: 2014-7-18 15:25

回复 3# elec


    如果不考虑 -n 的话,其实我更喜欢用 gnu sort 7.6 的 -r 选项来乱序




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2