Я хочу получить первую строку, которая соответствует моему регулярному выражению.
Например, у меня есть строка
RCPT от неизвестного [211.147.3.74]: 450 4.7.1 Клиентский хост отклонен: невозможно найти ваше имя хоста, [211.147.3.74];
и мой скрипт выглядит так:
IP=`echo $LINE | grep -E -o --max-count=1 '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'`
echo $IP
В результате я получаю
211.147.3.74 211.147.3.74
Но я бы хотел получить IP только один раз. Я попробовал 'grep - max-count = 1', но все еще есть два ip.