проблема с шаблоном регулярного выражения

Чтобы выполнить какую-либо -команду, пока она не выведет строку «успешно» на стандартный вывод, приостановив работу через пять минут после неудачного запуска:

until some-command | grep -q successful
do
  sleep $((60 * 5)) ### or "sleep 5m", if supported by your version of sleep
done
-2
20.05.2021, 21:29
1 ответ

Если вы ищете способ проверки адресов электронной почты, FWIW это то, что у меня есть в старом awk-скрипте, который лежит у меня дома и делает это:

    # valid addrs regexp from http://www.regular-expressions.info/email.html
    # Specifically do NOT want to use [:alpha:] to drop Asian characters etc
    # Added a check that we have at least 2 consecutive alphabetic characters
    # both before and after the "@" to get rid of x@y.co etc. garbage
    (addr ~ /^[0-9a-zA-Z._%+-]+@[0-9a-zA-Z.-]+\.[a-zA-Z]{2,}$/) &&
    (addr ~ /^.*[a-zA-Z]{2}.*@.*[a-zA-Z]{2}.*\.[a-zA-Z]{2,}$/)

Я уверен, что это можно было бы объединить в одно регулярное выражение, но мне все равно, что делать это, и конечный результат, вероятно, все равно будет менее ясным.

1
28.07.2021, 11:30

Теги

Похожие вопросы