1

我想从字典中取出至少 6 个字符的所有单词,随机化单词的顺序并将其存储在文本文件中。

我尝试了以下命令,但在 Mac 中没有 sort -R 选项。

以下命令正在工作

egrep -i "^.{6,}$" /usr/share/dict/words | sort -r >words.txt

sort -r(反向排序)有效但sort -R(随机排序)无效

以下命令不起作用

egrep -i "^.{6,}$" /usr/share/dict/words | sort -R >words.txt

我可以随机化单词列表顺序的任何其他方式。

任何帮助表示赞赏。

4

1 回答 1

3

如果您有,请尝试这样做shuf

grep '^.\{6,\}' /usr/share/dict/words | shuf

或者使用

grep '^.\{6,\}' /usr/share/dict/words |
    perl -MList::Util=shuffle -e 'print shuffle <>'

或仅使用

perl -MList::Util=shuffle -ne '
    /^.{6,}/ and push @L, $_;
    END{print shuffle @L}
' < /usr/share/dict/words

List::Util最初是与 perl v5.7.3 一起发布的,因此默认情况下它是与 perl 一起安装的。

于 2013-07-09T20:41:01.437 回答