Брайан Керниган - UNIX — универсальная среда программирования
- Название:UNIX — универсальная среда программирования
- Автор:
- Жанр:
- Издательство:Финансы и статистика
- Год:1992
- Город:Москва
- ISBN:5-289-00253-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Брайан Керниган - UNIX — универсальная среда программирования краткое содержание
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.
Для программистов-пользователей операционной системы UNIX.
UNIX — универсальная среда программирования - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
m+ |
Поместить текущую строку после следующей (переставить) |
m-2 |
Поместить текущую строку перед предыдущей |
m-- |
То же самое: это то же, что -2 |
m- |
Ничего не делать |
m$ |
Поместить текущую строку в конец ( m0 — поместить в начало) |
t. |
Дублировать текущую строку ( t$ дублирует в конце) |
-,.t. |
Дублировать предыдущую и текущую строки |
1,$t$ |
Дублировать все множество строк |
g/^/m0 |
Инвертировать порядок строк |
Команда =
печатает номер строки $
(слабое умолчание), . =
печатает номер текущей строки и т.д. Положение текущей строки не изменяется.
Команда kc
метит нужную строку буквой с
; впоследствии на эту строку можно ссылаться с помощью 'c
. Команда k
не меняет положение текущей строки. Метки удобны при перемещении больших фрагментов текста, поскольку они остаются привязанными к строкам, как показано в приведенной ниже последовательности:
/.../ka |
Найти строку ... и пометить буквой a |
/.../kb |
Найти строку ... и пометить буквой b |
'a,'bp |
Печатать целый диапазон, чтобы быть уверенным |
/.../ |
Найти нужную строку |
'а,'bm |
Поместить выбранные строки после нее |
Строки могут быть объединены с помощью команды j
(пробелы не добавляются):
m , n j |
объединяет строки с m по n в одну |
jp |
Объединить текущую строку со следующей и печатать |
-,.jp |
Объединить предыдущую строку с текущей и печатать |
По умолчанию принимается диапазон .,.+1
;
Строки можно расщепить командой подстановки, отделив новую строку:
s/part1part2/part1\part2/ |
Расщепить строку на две части |
s/ /\ /g |
Расщепить по каждому пробелу. Оставить одно слово на строку |
Текущей становится последняя созданная строка.
Чтобы манипулировать не только целыми фрагментами, выбираемыми регулярными выражениями, но и их соответствующими частями, используйте помеченные регулярные выражения : если конструкция \(...\)
появляется в регулярном выражении, то часть соответствующего ей фрагмента доступна как \1
. Возможно до девяти помеченных выражений, на которые ссылаются с помощью \1
, \2
и т.д.
s/\(...\)\(.*\)/\2\1/ |
Поместить 3 первых символа в конец |
/\(..*\)\1/ |
Найти строки, содержащие повторяющиеся смежные цепочки символов |
Командам r
и w
(читать и писать) могут предшествовать номера строк:
n r file |
Читать file ; добавить его после строки n ; текущей становится последняя прочитанная строка |
m , n w file |
Писать строки m-n в file ; положение текущей строки не изменяется |
m , n w file |
Добавить строки m-n к file ; положение текущей строки не изменяется |
По умолчанию диапазон для w
и W
(команда W
приведена ниже в табл. П.1.2) — это целый файл. Значение n по умолчанию для r
равно $,
что представляется не очень удачным. Будьте внимательны.
Редактор ed
запоминает первое использованное имя файла из командной строки или из команд r
, w
. Команда f
(файл) печатает или заменяет имя запомненного файла:
f |
Печатать имя запомненного файла |
f file |
Установить запомненное имя на ' file ' |
Команда e
(редактировать) вновь вызывает ed с запомненным или новым файлом:
e |
Начать редактировать запомненный файл |
e file |
Начать редактировать ' file ' |
Команда е
защищена тем же способом, что и q
: если вы не записали измененную версию, первая команда е
выдает сообщение об ошибке; е
вновь инициализирует редактор независимо от внесения изменений. В некоторых системах ed
связан с е
, так что одна и та же команда ( е filename
) может использоваться внутри и вне редактора.
Файлы могут быть зашифрованы по записи и дешифрованы при чтении с помощью команды x
; пароль будет запрошен. Шифрование происходит тем же способом, что и в crypt(1)
. В некоторых системах команда x
заменена на X
(прописную букву) во избежание случайностей.
В табл. П.1.2 перечислены команды редактора, а в табл. П.1.3 допустимые номера строк. Каждой команде предшествует нуль, один или два номера строк, указывающие число используемых строк, если их нет, принимается соглашение по умолчанию. За большинством команд может следовать буква p для вывода последней обработанной строки или 1 для формата списка. Текущей обычно становится последняя обработанная строка; настройка не меняется командами f
, k
, w
, x
, =
, !
.
.а |
Выполнять ввод до тех пор, пока не напечатана строка, содержащая только ' . ' |
.,.с |
Заменить строки, новый текст заканчивается так же, как для команды а |
.,.d |
Исключить строки |
е file |
Вновь начать редактировать file . Редактирование начинается даже в том случае, если исправления не записаны |
f file |
Запомнить имя файла как file |
1,$g/re/cmds |
Выполнить cmds для каждой строки, соответствующей регулярному выражению re; отдельные команды в cmds разделены \newline ( \ +"перевод строки") |
.i |
Вставить текст перед строкой; он заканчивается так же, как для команды a |
.,.+1j |
.Соединить строки в одну |
.kc |
Пометить строку буквой с |
...l |
Перечислить строки, делая невидимые символы видимыми |
.,.m line |
Переместить строки после строки line |
.,.p |
Печатать строки |
q |
Выйти. Q выходит, даже если исправления не записаны |
$r file |
Читать file |
.,.s/re/new/ |
Заменить new на то, что соответствует re |
.,.t line |
Скопировать строки после line |
.u |
Аннулировать последнюю подстановку в строке (только одну) |
1,$v/re/cmds |
Выполнить команды ed cmds для каждой строки, не соответствующей re |
1,$w file |
Записать строки в файл; W добавляет (строки к файлу) вместо того чтобы записывать (как новый файл) |
X |
Войти в режим шифрования (или ed -х имя_файла) |
$= |
Печатать номер строки |
! cmdline |
Выполнить команду UNIX cmdline |
(.+1) newline |
Печатать строку |
Таблица П.1.2: Сводка команд ed
Интервал:
Закладка: