Здравствуйте! Пожалуйста, дайте больше информации о вашей ситуации: таблица маршрутов, может быть, прокси, шлюз параметров ... Строго говоря, это `\0`, а не пустую строку. @user4556274 - да, это моя точка зрения о СШ от MAC. И я считаю, что нужно создать корень .папка SSH не оправдывают необходимость создания собственного корневого пользователя Mac. И я думаю, что означает выбор для создания root-доступ SSH на Linux сервер всегда должен быть на основе открытого ключа "нормальных" пользователей на компьютере Mac.

Проблема, как steeldriver государств, разве что [0-9]{0,2} является нежадным; проблема в том, что .*? перед его жадным. СЭД поддерживает Bre и прежде, ни один из которых не поддерживает нежадное соответствие. Это особенность PCREs. Например, следующие команды:

$ Эхо 'aQbQc' | е с/.*\?М/Х/'
$ Эхо 'aQbQc' | е с/.*М/Х/'
$ Эхо 'aQbQc' | СЭД -р 'с/.*?М/Х/'
$ Эхо 'aQbQc' | СЭД -р 'с/.*М/Х/'

все выходные

ХС

(Я не уверен, почему он просто игнорирует ?.)

Смотрите нежадный матч с СЭД регулярным выражением (эмуляция языка Perl .*?).

Ваше описание функции, которую требуется выполнить-это скудный, но я считаю, что я обратной инженерии он. Вы можете получить желаемый эффект от не соответствия характеров перед номером вы хотите, чтобы соответствовать, пока ты не нашел номер:

$ Эхо '123980925sriten34=ienat' | СЭД -е 'с/\([1-9][0-9]\{0,2\}\+\)\([%=+-]\).*/! \1 \2 /' -е 'с/.*!//'
 34 =

замена ! с любой строкой, как известно, не появляются во входных данных. Если у вас нет такой строки, но вы используете GNU sed, вы можете использовать строку:

$ Эхо '123980925sriten34=ienat' | СЭД -е 'с/\([1-9][0-9]\{0,2\}\+\)\([%=+-]\).*/\Н \1 \2 /' -е 'с/.*\Н//'
 34 =

что, конечно, не может появляться на любой линии.