Привет.
Такая простая проблема поставила меня в тупик.Люди здесь очень полезны.
Я пытаюсь сопоставить строку, содержащую фиксированный текст и случайные цифры.
echo blah blah abc123 | grep -o abc
abc
echo blah blah abc123 | grep -o abc[0-9]
abc1
echo blah blah abc123 | grep -o abc[0-9]+
echo blah blah abc123 | grep -o "abc[0-9]+"
echo blah blah abc123 | grep -o "abc[0-9]*"
abc123
echo blah blah abc123 | grep -o abc[0-9]{3}
echo blah blah abc123 | grep -o "abc[0-9]{3}"
Оператор * (соответствует нулю или более раз) - единственныйэто работает, как я и ожидал.
Почему оператор + (соответствует 1 или более раз) не совпадает?
Почему конкретный оператор подсчета повторений {3} не соответствует?
Я запускаю эти примеры в оболочке bash под Ubuntu 10.10, если это имеет значение.
Большое спасибо.