Справочник по Debian

Выражения подстановки


В выражениях подстановки следующие символы имеют особое значение:

  • &

    • означает, какое регулярное выражение совпало. (в программе emacs

      используйте конструкцию \&)

      • \n

        • означает совпавшее регулярное выражение, заключенное в скобки, по номеру n

          Для выражений подстановки языка Perl используется конструкция $n вместо \n и символ & не имеет особого значения.

          Например:

          $ echo zzz1abc2efg3hij4 | \ sed -e 's/\(1[a-z]*\)[0-9]*\(.*\)$/=&=/' zzz=1abc2efg3hij4= $ echo zzz1abc2efg3hij4 | \ sed -e 's/\(1[a-z]*\)[0-9]*\(.*\)$/\2===\1/' zzzefg3hij4===1abc $ echo zzz1abc2efg3hij4 | \ perl -pe 's/(1[a-z]*)[0-9]*(.*)$/$2===$1/' zzzefg3hij4===1abc $ echo zzz1abc2efg3hij4 | \ perl -pe 's/(1[a-z]*)[0-9]*(.*)$/=&=/' zzz=&=

          Здесь обратите дополнительное внимание на стиль регулярных выражений, заключенных в скобки, и на то, как совпавшие строки используются в процессе замены текста у разных инструментов.

          Эти регулярные выражения могут быть использованы для перемещения курсора и также для действий по замене текста в редакторах.

          Пожалуйста, прочтите все связанные man-страницы для изучения этих команд.



          Содержание раздела