Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Программное обеспечение » UNIX — универсальная среда программирования - Брайан Керниган

UNIX — универсальная среда программирования - Брайан Керниган

Читать онлайн UNIX — универсальная среда программирования - Брайан Керниган
1 ... 82 83 84 85 86 87 88 89 90 ... 103
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

Строки могут быть объединены с помощью команды j (пробелы не добавляются):

m,nj объединяет строки с m по n в одну jp Объединить текущую строку со следующей и печатать -,.jp Объединить предыдущую строку с текущей и печатать

По умолчанию принимается диапазон .,.+1;

Строки можно расщепить командой подстановки, отделив новую строку:

s/part1part2/part1part2/ Расщепить строку на две части s/ / /g Расщепить по каждому пробелу. Оставить одно слово на строку

Текущей становится последняя созданная строка.

Чтобы манипулировать не только целыми фрагментами, выбираемыми регулярными выражениями, но и их соответствующими частями, используйте помеченные регулярные выражения: если конструкция (...) появляется в регулярном выражении, то часть соответствующего ей фрагмента доступна как 1. Возможно до девяти помеченных выражений, на которые ссылаются с помощью 1, 2 и т.д.

s/(...)(.*)/21/ Поместить 3 первых символа в конец /(..*)1/ Найти строки, содержащие повторяющиеся смежные цепочки символов Команды, работающие с файлами

Командам r и w (читать и писать) могут предшествовать номера строк:

nr file Читать file; добавить его после строки n; текущей становится последняя прочитанная строка m,nw file Писать строки m-n в file; положение текущей строки не изменяется m,nw 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

n Абсолютный номер строки n, n = 0,1, 2,... . Текущая строка $ Последняя строка текста /re/ Следующая строка, соответствующая re; после последней $ циклическое движение к первой строке ?re? Предыдущая строка, соответствующая re; после первой циклическое движение к последней $ 'c Строка с меткой с N1+/-n Строка N1+/-n (аддитивная комбинация) N1,N2 Строки с N1 по N2 N1;N2 Команда: сделать строку N1 текущей, затем вычислить N2. N1 и N2 могут быть определены любым из перечисленных выше способов

Таблица П.1.3: Номера строк в ed

Упражнение

Если вы думаете, что знаете ed, попробуйте выполнить текст (см. справочное руководство по quiz(6)).

1 ... 82 83 84 85 86 87 88 89 90 ... 103
Перейти на страницу:
Открыть боковую панель
Комментарии
Настя
Настя 08.12.2024 - 03:18
Прочла с удовольствием. Необычный сюжет с замечательной концовкой
Марина
Марина 08.12.2024 - 02:13
Не могу понять, где продолжение... Очень интересная история, хочется прочесть далее
Мприна
Мприна 08.12.2024 - 01:05
Эх, а где же продолжение?
Анна
Анна 07.12.2024 - 00:27
Какая прелестная история! Кратко, ярко, захватывающе.
Любава
Любава 25.11.2024 - 01:44
Редко встретишь большое количество эротических сцен в одной истории. Здесь достаточно 🔥 Прочла с огромным удовольствием 😈