Как я могу получить случайные слова из базы данных электронного словаря или текстового файла?

Если вы хотите, вы можете запускать эти три команды вместе,

sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get autoremove

Первый пересинхронизирует файлы индекса пакетов из своих источников. Второй, помимо выполнения функции обновления, также разумно обрабатывает изменения зависимостей с новыми версиями пакетов. apt-get имеет интеллектуальную систему разрешения конфликтов, и при необходимости будет пытаться обновить наиболее важные пакеты за счет менее важных. И наконец, третий удаляет пакеты, которые были автоматически установлены для удовлетворения зависимостей для других пакетов и теперь больше не нужны.

На самом деле, я поставил три команды вместе под один alias. См. Ниже,

alias updatedistupgrade='sudo apt-get update; sudo apt-get -y dist-upgrade; sudo apt-get autoremove'

Все, что я делаю, это время от времени запускать updatedistupgrade. Таким образом, в моей системе ненужные файлы есть smart .

Для получения дополнительной информации выполните

man apt-get

.

1
задан 8 July 2014 в 02:34

2 ответа

Я бы одобрил shuf за выщипывание строк из файла. Нам также нужно быть осторожным со словами, потому что это файл с разделителями табуляции, а не просто пробел.

$ shuf -n5 /usr/share/dictd/wn.index | cut -d$'\t' -f1
table game
parsi
tetraneuris grandiflora
synonymously
decimal digit

shuf здесь принимает 0.011s. sort -R (даже без awk) занимает 2.427 с. Это потому, что shuf просто ищет файл n раз, а сортировка читает и обрабатывает каждую строку ... В этом случае это 147311 строк.

5
ответ дан 24 May 2018 в 05:53

Существует множество способов получить случайное слово. Пример для извлечения пяти слов:

$ sort -R /usr/share/dictd/freedict-nld-eng.index | awk 'NR <= 5 { print $1 }'
verslappen
sport
libretto
golf
kerk

См. [F2] для значения параметра -R (подсказка: случайная). Выражение awk фильтрует первые пять записей (строк) и печатает первое поле (а не другие столбцы).

1
ответ дан 24 May 2018 в 05:53
  • 1
    @rusty Нет проблем, sort также не самая эффективная программа для этой цели, она создает временные файлы для больших файлов. Лучшая программа (с точки зрения памяти) сначала сканирует количество строк, затем выбирает некоторые случайные числа и затем снова сканирует эти строки. – Lekensteyn 7 July 2014 в 22:33

Другие вопросы по тегам:

Похожие вопросы: