У меня есть grep, состоящий из нескольких частей, который извлекает строки из файлов конфигурации маршрутизатора. Grep извлекает множество полей, которые встречаются в файле только один раз, например, IP-адрес, статус регистрации, сообщество snmp и т.д. Для этого у меня есть простой grep, такой как следующее:
grep -e "ip address" -e "logging status" -e "snmp community" $file
Тем не менее, мне также нужно извлечь первый экземпляр поля, которое встречается в файле несколько раз, в данном случае это поле "область ospf". С одним grep, я могу сделать это с помощью:
grep -m 1 "ospf area" $file
Как я могу выполнить обе функции в одном grep? Я зацикливаюсь на сотнях очень длинных файлов, и я хотел бы сделать это максимально эффективным. Я также не женат на grep для этого, поэтому мне было бы интересно увидеть другие идеи.