我想从词典中取出至少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
我可以随机化单词列表的顺序。
感谢任何帮助。
答案 0 :(得分:3)
如果您有shuf
:
grep '^.\{6,\}' /usr/share/dict/words | shuf
grep '^.\{6,\}' /usr/share/dict/words |
perl -MList::Util=shuffle -e 'print shuffle <>'
或仅使用perl:
perl -MList::Util=shuffle -ne '
/^.{6,}/ and push @L, $_;
END{print shuffle @L}
' < /usr/share/dict/words
List::Util
最初是与perl v5.7.3一起发布的,因此默认情况下它与perl一起安装。