Операционная система UNIX. Руководство пользователя

       

Метасимвол & (амперсенд)


Символ "&" используется в первую очередь для сокращения вводимого текста.

Предположим, имеется строка:

В ЭТО ВРЕМЯ

и требуется преобразовать ее в строку:

В ЭТО ВРЕМЯ СУТОК

конечно, для этого можно воспользоваться командой:

s/ВРЕМЯ/ВРЕМЯ СУТОК/

однако требование повторно указывать слово "ВРЕМЯ" кажется неразумным. Для того, чтобы избежать этого повторения, используется символ "&". В правой части команды подстановки амперсенд означает "найденный текст", так что можно ввести команду:

s/ВРЕМЯ/& СУТОК/

где "&" будет означать "ВРЕМЯ". Конечно, в данном примере экономия будет незначительной, однако если количество символов велико или представляет собой нечто вроде ".*", которому соответствует большой кусок текста, экономится много вводимых символов. Снижается также вероятность совершения ошибки при вводе заменяющего текста. Например, для того, чтобы заключить в скобки строку, независимо от ее длины, можно использовать команду:

s/.*/(&)/

Амперсенд может встречаться в правой части команды несколько раз. Команда:

s/ВРЕМЯ/& СУТОК И & ГОДА/

построит строку:



ВРЕМЯ СУТОК И ВРЕМЯ ГОДА

а команда:

s/В ЭТО ВРЕМЯ/&? &!!!/

преобразует исходную строку в:

В ЭТО ВРЕМЯ? В ЭТО ВРЕМЯ!!!

Чтобы получить настоящий символ "&", используется обратная дробная черта для отмены его специального значения. Команда:

s/амперсенд/\&/

заменит слово "амперсенд" на символ "&". Обратите внимание на то, что символ "&" является специальным только в правой части команды, в левой части он не имеет специального значения.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



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