我想随机打乱文本文件的行并创建一个新文件。该文件可能有数千行。
我怎么能用cat, awk,cut等来做到这一点?
cat
awk
cut
您可以使用shuf. 至少在某些系统上(似乎不在 POSIX 中)。
shuf
正如 jleedev 指出的那样:sort-R也可能是一种选择。至少在某些系统上;好吧,你明白了。有人指出,这sort -R并没有真正洗牌,而是根据它们的哈希值对项目进行排序。
sort-R
sort -R
[编者注:sort -R 几乎是 洗牌,除了 重复 的行/排序键总是 彼此相邻 。换句话说:只有 唯一的 输入行/键才是真正的随机播放。虽然输出顺序确实由 哈希值 决定,但随机性来自选择随机哈希 函数 - 请参阅手册。]