> Не работает почему-то
> Там такая строчка:
> alt="Почта" /></span>123
> Т.е. это не вся строка, нужная часть только Вот ведь ёлы-палы! :-) Я из вашего же сообщения брал строку поиска, а тут вы заявляете, что
в реальности оно не так - в заблуждение вводите, однако. :-)
Ну да ладно, попробуем несколько упростить фильтр:
sed -nr '/Почта.*[0-9]/s/[^[:digit:]]//gp'
У меня эта конструкция работает:
$ echo '"Почта"./><strong.class="num">1234jj09' | sed -nr '/Почта.*[0-9]/s/[^[:digit:]]//gp'
123409
P. S. И еще один немаловажный момент: какую ОС и версию sed вы используете? Собственно,
мне с этого вопроса и следовало бы начать, поскольку сами-то вы этого не указали. :-)
P. P. S. Насчет "вроде бы sed работает быстрее" могу посоветовать использовать утилиту time.
Несколько раз прогоните команды вида time grep <file> и time sed <file>, а потом
сравните вывод, который будет выдавать time. Получите точный ответ без "вроде бы". :-)