随机提取文件中的N行

cat input_file | while read line;do echo -e "$RANDOM^$line";done | sort -t '^' -k1n | awk -F'^' '{res=$2;for(i=3;i<=NF;i++){res=res"^"$i;}print res}' >>out_file

input_file是将要排序的原文件,$RANDOM产生随机数,后面拼上^$line  然后以^为分隔符,按照产生的随机数进行排序;将排完序的数据按照^切割,去掉随机数,如果原数据中包含^,再依次拼进去;最后将结果输出到out_file中;while...do...done是循环体

你可能感兴趣的:(随机提取文件中的N行)