Использование grep для подсчета числа вхождений для каждого слова, найденного в шаблоне регулярных выражений

Я использую следующее, чтобы получить количество вхождений с использованием grep и wc .

 grep -iEo "(red|white|blue)" somefile.txt | wc -l 

Однако это ставит число. Вместо этого я хотел бы что-то вроде:

 red: 2 white: 1 blue: 0 Total: 3 

Что-то вроде этого достижимо с grep?

One Solution collect form web for “Использование grep для подсчета числа вхождений для каждого слова, найденного в шаблоне регулярных выражений”

Примите помощь от sort и uniq :

 grep -iEo "(red|white|blue)" somefile.txt | sort | uniq -c 
  • sort сортирует результат

  • uniq -c получает частоту

  • Поиск определенного символа на одном или нескольких позициях в файле
  • Несколько команд grep с сортировкой
  • Как найти общее количество вхождений текста и файлов с помощью команды find
  • grep фиксированная строка в конце строки
  • Как инвертировать счет, возвращенный из grep?
  • Косая черта, не обнаруженная в команде «grep»
  • подсчитывать строки, соответствующие строке в каждом подкаталоге, и их подкаталоги
  • egrep word search + next 1 line
  • Как использовать grep / ack с файлами в произвольной кодировке?
  • cshell alias: как использовать вложенные одинарные кавычки (') в псевдониме cshell
  • grep случайно появляется и исчезает в ps aux (ps aux | grep python)
  • Найдите строку в файле и переименуйте несколько файлов в результаты
  • Linux и Unix - лучшая ОС в мире.