Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

6.15. Работа с файлами

6.15.1. Команда указания имени файла (f)

Данная команда предназначена для запроса или изменения сохраняемого редактором имени файла (текущего имени).

Формат команды:

	f [файл]<CR>

В ответ на команду "f" без агрумента редактор напечатает сохраненное им ранее имя файла (текущее).

Это имя запоминается редактором при вызове по команде shell:

	ed file 
или по команде редактора:
	e file 
Например, в результате выполнения команды:
	f file1
имя файла, хранимое редактором, будет заменено на новое имя "file1", и оно станет текущим.

Команда записи "w" без аргументов копирует буфер редактора в файл с текущим именем.

Пример создания двух вариантов файла "file1":

        ed file1
        f file2
          ...
        w
        w file3
        q

6.15.2. Объединение файлов

Предположим, что в файле "file1" сразу же после слов "текст..." требуется вставить "file2".

Для этого необходимо вызвать редактор для фала "file1", найти символы "текст..." и добавить в это место файл "file2":

        ed file1
        /текст.../
        текст...    (ответ редактора)
        .r file2

Команда "r" без адресов добавляет читаемые строки в конец, т.е. работает аналогично "$r".

6.15.3. Разбиение файла

Предположим, что нужно выделить в отдельный файл некоторую таблицу, чтобы ее можно было отдельно форматировать и проверять.

        .TS
        ... (содержимое)
        .TE 

Для выделения этой таблицы в отдельный файл с именем "table" в первую очередь нужно найти начало этой таблицы (строку "TS"), а затем записать соответствующий фрагмент в файл:

        /^\.TS
        .TS  (редактор печатает найденную строку)
        .,/^\.TE/w table 

В результате этого поставленная цель будет достигнута. Можно выполнить все это и в одной команде:

	/^\.TS/;/^\.TE/w table 

Дело в том, что команда "w" может выполнять запись не всего файла, а некоторой группы строк. При желании можно записать даже одну строку, для этого надо задать один номер строки вместо двух.

6.15.4. Перекомпоновка файла

6.15.4.1. Перемещение строк (команда m)

Данная команда предназначена для перемещения строк в буфере редактора.

Формат команды:

	[n[, k]]ml<CR>
где n, k - номера начальной и конечной перемещаемых строк;
m - команда перемещения;
l - номер строки, после которой надо поместить строки с номерами от "n" до "k" включительно.

По данной команде строки с номерами от "n" до "k" включительно помещаются после строки с номером "l", причем на прежнем месте эти строки не сохраняются.

Пример.

	1, 3m$
группу строк с 1-й по 3-ю поместить после последней строки в буфере редактора.

Если указан один номер строки, то перемещается только эта строка.

Если номер отсутствует, то перемещается текущая строка.

Данная команда может успешно использоваться вместе с командой поиска.

Например, имеется следующий текст:

        ПЕРВЫЙ ПАРАГРАФ
        (текст)
        КОНЕЦ ПЕРВОГО ПАРАГРАФА
        ВТОРОЙ ПАРАГРАФ
        (текст)
        КОНЕЦ ВТОРОГО ПАРАГРАФА 

Если необходимо переставить параграфы местами, то это можно выполнить с помощью команды:

        /ВТОРОЙ/, /КОНЕЦ ВТОРОГО/m/ПЕРВЫЙ/-1

Строки, начиная со строки, содержащей слово "ВТОРОЙ", до строки, содержащей слова "КОНЕЦ ВТОРОГО" включительно, помещаются перед строкой, содержащей слово "ПЕРВЫЙ".

По завершинию операции перемещения текущей строкой становится последняя перемещенная строка (в последнем примере - это строка со словами "КОНЕЦ ВТОРОГО").

6.15.4.2. Копирование строк текста (t)

Команда копирования "t" аналогична команде "m", за исключением того, что блок текста не удаляется, а копия этого блока помещается после указанной строки текста.

Формат команды:

	[n[, k]]tl<CR>
где n, k - номера начальной и конечной копируемых строк; если указано только n, то копируется одна строка с номером n; если номер строки не указан, то копируется текущая строка;
t - команда копирования;
l - номер строки, после которой надо поместить строки с номерами от "n" до "k" включительно.

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

Пример.

        5, 8n<CR>
        5     Close the door of the room.
        6     Break glass of neareat alarm.
        7     Pull lever.
        8     Locate and use fire extinguishar.
        30n<CR>
        30    A chemical fire in the lab requires that you:
        6,8t30<CR>
        30, $n
        30    A chemical fire in the lab requires that you:
        31    Break glass of neareat alarm.
        32    Pull lever.
        33    Locate and use fire extinguishar.
        6, 8n<CR>
        6     Break glass of neareat alarm.
        7     Pull lever.
        8     Locate and use fire extinguishar.

Текст с 6-й по 8-ю строки остается на месте, копия этих трех строк помещается после 30-й строки.

Назад | Содержание | Вперед

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...