如何在Mac OS中随机化egrep结果

时间:2013-07-09 20:37:32

标签: shell

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

我尝试过以下命令,但在Mac中无法使用排序-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

我可以随机化单词列表的顺序。

感谢任何帮助。

1 个答案:

答案 0 :(得分: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一起安装。