Использование grep и поиск уникальных вхождений

У меня есть текстовый файл этого типа, и я бы поискал строки, содержащие строку Validating Classification а затем получал однозначно сообщенные ошибки. Я не знаю типов возможных ошибок.

Входной файл:

 201600415 10:40 Error Validating Classification: error1 201600415 10:41 Error Validating Classification: error1 201600415 10:42 Error Validating Classification: error2 201600415 10:43 Error Validating Classification: error3 201600415 10:44 Error Validating Classification: error3 

Выходной файл

 201600415 10:40 Error Validating Classification: error1 201600415 10:42 Error Validating Classification: error2 201600415 10:43 Error Validating Classification: error3 

Могу ли я достичь этого с помощью grep, труб и других команд?

3 Solutions collect form web for “Использование grep и поиск уникальных вхождений”

Вы можете использовать эту команду, предполагая, что ваши данные находятся в файле test

 uniq -f 2 <test 

Вам нужно будет отбросить временные метки, но «grep» и «sort -unique» вместе могут сделать это за вас.

 grep --only-matching 'Validating Classification.*' | sort --unique 

Таким образом, grep -o будет показывать только те части линии, которые соответствуют вашему регулярному выражению (именно поэтому вам нужно включить .* Чтобы включить все после соответствия «Validating Classification»). Затем, как только у вас есть список ошибок, вы можете использовать sort -u чтобы получить только уникальный список ошибок.

Я бы пошел с awk

 awk -F: '{ if (!a[$3]++ ) print ;}' file 
  • -F: использовать: как разделитель
  • $3 – шаблон после :
  • !a[$3]++ гарантируют истинность только при первом появлении
  • Сравните два журнала по строкам и покажите различия, и если порядок слов из строки не совпадает
  • как подключить вывод cut к команде foreach?
  • sed или grep, чтобы получить только значения без цифр
  • Поиск нескольких шаблонов в определенном столбце в файле фиксированной длины и вывод всей строки
  • Как бы я grep для записи файла паролей без использования 'username'
  • Селективное извлечение данных
  • извлекать строки из большого файла с разделителями табуляции, используя список
  • Как проверить, какие строки из файла A отсутствуют в файле B, не отображая ничего, что присутствует в файле B, а не в файле A?
  • Как grep выводить программу, но также нормально выводить вывод?
  • Как выполнить grep на FTP?
  • grep, чтобы вернуть значение для Referer в trail -f httpd-access.log
  • Linux и Unix - лучшая ОС в мире.