有没有办法从字典数据库中获取随机单词,比如从dict-wn或 freedict 的包中获取?我正在寻找一种方法来做到这一点,要么使用 bash 脚本,要么尝试使用命令工具(如果可用)。
ste*_*ver 22
如果 wordlist 是每行一个单词的纯文本文件,则一个选项是shuf命令,例如
$ shuf -n5 /usr/share/dict/american-english
resuscitated
Lawson
concatenate
nonsmoker's
balmiest
Run Code Online (Sandbox Code Playgroud)
看 man shuf
SHUF(1) User Commands SHUF(1)
NAME
shuf - generate random permutations
SYNOPSIS
shuf [OPTION]... [FILE]
shuf -e [OPTION]... [ARG]...
shuf -i LO-HI [OPTION]...
DESCRIPTION
Write a random permutation of the input lines to standard output.
Run Code Online (Sandbox Code Playgroud)
我更喜欢shuf从文件中提取行。我们还需要小心这些单词,因为它是一个制表符分隔的文件,而不仅仅是空格。
$ shuf -n5 /usr/share/dictd/wn.index | cut -d$'\t' -f1
table game
parsi
tetraneuris grandiflora
synonymously
decimal digit
Run Code Online (Sandbox Code Playgroud)
shuf这里需要 0.011 秒。sort -R(即使没有awk)也需要 2.427 秒。这是因为 shuf 只是在文件中查找n次,而 sort 正在读取和处理每一行......在这种情况下是 147311 行。
| 归档时间: |
|
| 查看次数: |
10956 次 |
| 最近记录: |