Ответ 1
Вы можете сделать это следующим образом:
sed -e 's/^avpgw/new text/' -e t -e 's/^av/new text/' -e t -e 's/^/new text/' file
Это заменяет шаблон new text
(s///) и переходит к концу (t). В противном случае он пробует следующий шаблон. См. Также сводные команды sed.
Вы также можете отделить команды с помощью ;
:
sed 's/^avpgw/new text/; t; s/^av/new text/; t; s/^/new text/' file
или поместите команды в файл команды sed:
s/^avpgw/new text/
t
s/^av/new text/
t
s/^/new text/
и назовите его следующим образом:
sed -f commandfile file
Если вы хотите проигнорировать регистр, добавьте я в конце подстановочной команды, как в s/^av/new text/i
. Другой способ - записать его с наборами символов s/^[aA][vV]/new text/
. Но это не соответствует sed
, для этого вы можете искать регулярные выражения в целом.