shuf命令在linux系统中主要用于生成随机排列的命令工具,和随机数不一样的是,shuf命令是将输入的数据随机打乱顺序,重新排列。
命令格式:shuf 参数 对象内容;参数可以为空;
参数说明参数为空:当参数为空的时候,shuf会将文件内容随机的打乱顺序;
图1
-e参数:将命令行参数作为输入数据;
-i参数:指定输入数据的范围,如图,指定范围1-5,并不会按顺序显示;
图2
-n参数:指定输出的行数或随机数的次数,如图:
图3
-o参数:将输出的结果写入到文件中,而不是通过标准输出打印出来;
--random-source参数:-o参数的另一种用法,即指定随机源文件,这样可以确保每次生成的随机性都一样,如图:
图4
-r参数:表示对输出数据的重复次数,通常和-n或-e参数,需慎用,不然容易陷入死循环,比如当使用shuf -r -i 1-5命令时,会进入死循环;不过结合其他参数合理使用,可以模拟生成随机数列:
图5
-z参数:用NULL字符代替换行符作为分隔符;