⭐️ Серия решений проблем LeetCode ⭐️ 192. Статистическая частота слов (оболочка) | Августовское обновление

задняя часть LeetCode
⭐️ Серия решений проблем LeetCode ⭐️ 192. Статистическая частота слов (оболочка) | Августовское обновление

❤️ Оригинальное название ❤️

Напишите bash-скрипт для подсчета текстового файлаwords.txtЧастота появления каждого слова в .

Для простоты можно предположить:

  • words.txtВключать только строчные буквы и' '.
  • Каждое слово состоит только из строчных букв.
  • Слова разделяются одним или несколькими пробелами.

Пример:

Предположениеwords.txtСодержание следующее:

the day is sunny the the
the sunny is is

Ваш скрипт должен вывести (в порядке убывания частоты слов):

the 4
is 3
sunny 2
day 1

инструкция:

  • Не беспокойтесь о порядке слов с одинаковой частотой слов, частота каждого слова уникальна.
  • вы можете использовать одну строкуUnix pipesПойми?

⭐️ Идеи решения проблем ⭐️

Обратите внимание на несколько ключевых слов: частота слов в порядке убывания, подсчитайте количество вхождений каждого слова и используйте одну строку команд.

① использоватьxargsПреобразование всех строк в отображение в один столбец:

cat words.txt | xargs -n1

在这里插入图片描述
② использоватьsort + uniqфункция для организации:

  • sort -nrУказывает, что значения отсортированы в порядке убывания.
  • uniq -cУказывает, сколько раз строка повторяется рядом с каждым столбцом.
cat words.txt | xargs -n1 | sort | uniq -c | sort -nr

在这里插入图片描述
③ Использованиеawk + printФункция меняет местами столбцы 1 и 2:

cat words.txt | xargs -n 1 | sort | uniq -c | sort -nr | awk '{print $2" "$1}'

在这里插入图片描述
На данный момент эта проблема решена.

Перейдите к LeetCode, чтобы выполнить его и посмотреть результат:
在这里插入图片描述

❄️ Напишите в конце ❄️

Этот вопрос по-прежнему использует некоторые основные команды Linux:xargs,sort,uniq,awk, фундамент очень важен!


Этот обмен заканчивается здесь~

Если вы считаете, что статья полезна для вас,Нравится, Избранное, Следите, Комментируйте, Поддержка четырех ссылок одним щелчком мыши, ваша поддержка является самой большой движущей силой для моего творчества.