Unix Man (Справочное руководство)


CSH(1) - часть 4


Двоеточие, отделяющее спецификацию события от указателя на слова, может быть опущено в случае, если аргументный селектор начинается с символа ^, $, *, - или %. После указателя на слова, который может и отсутствовать, может быть помещена последовательность модификаторов так, что каждому предшествует двоеточие. Определяются следующие модификаторы:

h r s/l/r t & g p q x
Удаляет последнюю составляющую обозначения пути
Удаляет последнюю составляющую .XXX
Производит подстановку l вместо r
Удаляет все предшествующие составляющие обозначения пути
Повторяет предыдущую подстановку
Выполняет глобальную замену, с учетом указанных ранее подстановок
Печатает новую команду, но не выполняет ее
Заключает в кавычки подставленные слова, предотвращая выполнение подстановок
Аналогично q, но прерывает слова на пробелах, знаках табуляции и признаках новой строки.

Если не предшествует модификатор g, то модификация применяется только к первому доступному для изменения слову. В случае любой модификации ошибочной ситуацией является отсутствие соответствующего слова.

Левые части подстановок являются не регулярными, в смысле редакторов, выражениями, а скорее строками. Любой символ может быть использован в качестве разделителя вместо знака /; знак \ заключает в кавычки разделитель внутри строк l и r. Символ & в правой части подстановки заменяется на текст из левой части. Знак \ также заключает в кавычки символ &. Пустое значение строки l использует предыдущую строку, взятую из предыдущего значения l, или из контекстуально сканированной строки s в подстановке !?s?. Последний разделитель в подстановке может быть опущен, если в контекстуальном сканировании за последним знаком вопроса ? сразу же следует признак новой строки.

Ссылка предыстории может быть задана без спецификации события, например, !$. В этом случае ссылка относится либо к предыдущей команде, если в той же самой строке отсутствует предыдущая ссылка предыстории, либо, в противном случае, эта форма подстановки повторяет предыдущую ссылку. Таким образом запись вида !?foo?^!$ задает первый и последний аргумент из команды, соответствующей подстановке ?foo?.

Существует специальная аббревиатура ссылки предыстории, представляемая знаком ^, который является первым непустым символом входной строки. Она эквивалентна подстановке вида !:s^ и обеспечивает удобное сокращение для замещений на текст из предыдущей строки. Таким образом, запись ^lb^lib проверяет орфографию lib в предыдущей команде. Наконец, подстановка предыстории может быть заключена в фигурные скобки { и }, если необходимо изолировать ее от последующих символов. Таким образом, после команды ls -ld ~paul Вы можете сделать подстановку !{l}a, чтобы в результате выполнить команду ls -ld ~paula, в то время как запись вида !la будет просматривать команды, начинающиеся с la.

Заключение В Кавычки При Помощи Знаков ' и "





Начало  Назад  Вперед