grep + регулярное выражение для соответствия слову, расположенному перед последним словом

Я хочу захватить все строки, у которых есть (XXXX) слово перед последним словом

а xxxxx – номер

/opt/OV/bin/opcagt -status scopeux Perf Agent data collector (5102) Running midaemon Measurement Interface daemon (5110) Running ttd ARM registration daemon Running perfalarm Alarm generator (5111) Running agtrep OV Discovery Agent AGENT,AgtRep (5520) Running coda OV Performance Core COREXT (5529) Running opcacta OVO Action Agent AGENT,EA (5427) Running opcle OVO Logfile Encapsulator AGENT,EA (5443) Running opcmona OVO Monitor Agent AGENT,EA Running opcmsga OVO Message Agent AGENT,EA (5435) Running opcmsgi OVO Message Interceptor AGENT,EA (5553) Running ovbbccb OV Communication Broker CORE (5352) Running ovcd OV Control CORE (5344) Running ovconfd OV Config and Deploy COREXT (5383) Running 

Я стараюсь

 /opt/OV/bin/opcagt -status | grep [0-9] 

но этот синтаксис grep не записывает слово перед последним словом

Ожидаемые результаты:

 scopeux Perf Agent data collector (5102) Running midaemon Measurement Interface daemon (5110) Running perfalarm Alarm generator (5111) Running agtrep OV Discovery Agent AGENT,AgtRep (5520) Running coda OV Performance Core COREXT (5529) Running opcacta OVO Action Agent AGENT,EA (5427) Running opcle OVO Logfile Encapsulator AGENT,EA (5443) Running opcmsga OVO Message Agent AGENT,EA (5435) Running opcmsgi OVO Message Interceptor AGENT,EA (5553) Running ovbbccb OV Communication Broker CORE (5352) Running ovcd OV Control CORE (5344) Running ovconfd OV Config and Deploy COREXT (5383) Running 

  • Использование sed, как форматировать одно слово в строке, удаляя пустое пространство
  • sed - использовать файл1 для поиска замен, содержащихся в файле2 для строк из файла3
  • sed соответствует только во второй строке
  • Удаление текста из файла с использованием регулярных выражений
  • Найти текст между вкладкой (\ t) в качестве разделителя
  • Эффективно удалите первую пару строк из текстового файла
  • Найти и заменить все перед строкой текста
  • Скопируйте первые 2 строки из файла, а затем удалите строки
  • 3 Solutions collect form web for “grep + регулярное выражение для соответствия слову, расположенному перед последним словом”

    пытаться

     /opt/OV/bin/opcagt -status | awk 'NF>2 && $(NF-1) ~ /\([0-9]*\)/ ' 

    где

    • $(NF-1) перед последним полем
    • ~ попросить awk выполнить сопоставление шаблонов
    • /\([0-0]*\)/ pattern – ( , любое число цифр и ) (вы можете использовать [0-9] [0-9] *, чтобы иметь хотя бы один.
    • действие по умолчанию – печать.

    Поиск строк, содержащих рисунок (4-digits)<spaces>word в конце строки

     grep -E '\([0-9]{4}\)\s*\w+$' 

    Ты можешь сделать:

     ... | grep -E '[[:blank:]]\([0-9]{4}\)[[:blank:]]+[^[[:blank:]]+$' 
    • [[:blank:]]\([0-9]{4}\) соответствует пробелу, за которым следуют 4 цифры

    • [[:blank:]]+[^[[:blank:]]+$ соответствует одному или нескольким пробелам, за которыми следует один или несколько символов без пробелов, в конце.

    Пример:

     $ cat file.txt scopeux Perf Agent data collector (5102) Running midaemon Measurement Interface daemon (5110) Running ttd ARM registration daemon Running perfalarm Alarm generator (5111) Running agtrep OV Discovery Agent AGENT,AgtRep (5520) Running coda OV Performance Core COREXT (5529) Running opcacta OVO Action Agent AGENT,EA (5427) Running opcle OVO Logfile Encapsulator AGENT,EA (5443) Running opcmona OVO Monitor Agent AGENT,EA Running opcmsga OVO Message Agent AGENT,EA (5435) Running opcmsgi OVO Message Interceptor AGENT,EA (5553) Running ovbbccb OV Communication Broker CORE (5352) Running ovcd OV Control CORE (5344) Running ovconfd OV Config and Deploy COREXT (5383) Running $ grep -E '[[:blank:]]\([0-9]{4}\)[[:blank:]]+[^[[:blank:]]+$' file.txt scopeux Perf Agent data collector (5102) Running midaemon Measurement Interface daemon (5110) Running perfalarm Alarm generator (5111) Running agtrep OV Discovery Agent AGENT,AgtRep (5520) Running coda OV Performance Core COREXT (5529) Running opcacta OVO Action Agent AGENT,EA (5427) Running opcle OVO Logfile Encapsulator AGENT,EA (5443) Running opcmsga OVO Message Agent AGENT,EA (5435) Running opcmsgi OVO Message Interceptor AGENT,EA (5553) Running ovbbccb OV Communication Broker CORE (5352) Running ovcd OV Control CORE (5344) Running ovconfd OV Config and Deploy COREXT (5383) Running 
    Linux и Unix - лучшая ОС в мире.