Чтение онлайн

на главную

Жанры

UNIX — универсальная среда программирования
Шрифт:

w poem
Пишем строки в файл poem

121
ed сообщает, что записан 121 символ

q
Выход

Команда

а
добавляет или присоединяет строки. Режим добавления заканчивается строкой, состоящей из одной точки. Из-за отсутствия индикации режима, в котором вы работаете, возможны две распространенные ошибки: ввод текста без команды
а
и ввод команды до ввода '
.
'.

Редактор

ed
никогда не будет писать ваш текст в файл автоматически; вы должны задать это с помощью команды
w
. Однако,
если вы пытаетесь закончить редактирование без записи ваших изменений,
ed
выдает '
?
' как предупреждение. Есть другая команда
q
, позволяющая завершить работу независимо от внесения исправлений.

$ ed poem

121
Файл существует и имеет 121 символ

а
Добавить еще строки в его конец

And the great fleas themselfs, in turn,

 have greater fleas to go on;

While these again have greater still,

 and greater still, and so on.

.
Печатаем '.' для завершения

q
Пытаемся выйти

?
Предупреждение: не было записи

w
Нет имени файла; подразумевается poem

263

q
Теперь можно выходить

$ wc poem
Проверьте для уверенности

8 46 263 poem

$

Временная передача управления
shell
с помощью '
!
'

Если вы запустили

ed
, то можете временно выйти из него, чтобы запустить другую команду
shell
. В этом случае нет необходимости прекращать работу достаточно ввести команду
ed
'
!
'.

$ ed poem

! wc poem
Запуск wc без выхода из ed

8 46 263 poem

!
Вернулись из команды

q
Выход без w годится: не было исправлений

$

Печать

Строки файла нумеруются как 1, 2 … Вы можете печатать

n
– ю строку, дав команду
np
или просто номер
n
, и строки с
m
по
n
, используя
m,np
. "Номером строки"
$
обозначается последняя строка, так что строки можно не считать.

1
Печатать первую строку;
то же самое
$
Печатать последнюю строку;
$p
то же самое
1,$p
Печатать строки с первой по последнюю

Печатать файл по одной строке проще всего; нажимая клавишу

RETURN
, вы можете вернуться на одну строку назад с помощью '
'. Можно комбинировать номера строк с '
+
' и '
'.

$-2,$p
Печатать
последние три строки
1,2+3p
Печатать строки с первой по пятую

Однако нельзя печатать после конца файла или в обратном порядке; команды типа

$,$+1p
и
$,1p
считаются незаконными.

Команда

list 1
выводит текст в формате с видимыми символами. Это удобно при поиске в файлах управляющих символов, при различении пробелов, табуляции и т.п. (см.
vis
в гл. 7).

Образцы

Как только размер начинает превышать две строки, становится неудобным печатать его весь целиком, чтобы отыскать нужную строку. Редактор

ed
предлагает способ поиска строк, совпадающих с некоторым образцом, шаблоном:
/pattern/
обнаруживает очередное вхождение
pattern
.

$ ed poem 263

/flea/
Ищет очередную строку, содержащую flea

Great fleas have little fleas

/flea/
Ищет еще одну

And little fleas have lesser fleas,

//
Ищет следующую по тому же образцу

And the great fleas themselves, in turn,

??
Поиск в обратном направлении по тому же образцу

And little fleas have lesser fleas,

Редактор запоминает образец, применявшийся вами в последний раз, так что можно повторить поиск просто с помощью

//
. Для поиска в обратном направлении воспользуйтесь
?pattern?
и
??
.

Поиск с помощью

/.../
и
?...?
циклический, т.е. продолжается в обратном направлении после достижения одного из концов текста:

$p
Печатать последнюю строку ('p' необязательна)

and greater still, and so on.

/flea/
Следующее flea вблизи начала

Great fleas have little fleas

??
От начала идет в обратном направлении

 have greater fleas to go on;

Результатом поиска по образцу типа

/flea/
является номер строки, например 1 или
$
, который может использоваться в том же контексте, что и такие номера:

1,/flea/p
Печатать от единицы до следующего
flea
?flea?+1,$p
Печатать от предыдущего
flea + 1
до конца

Текущая редактируемая строка. Редактор

ed
отслеживает последнюю строку, с которой имели дело: печатали или вводили текст, читали из файла. Это текущая строка с именем '
.
'. Каждая команда определенным образом влияет на текущую строку, обычно настраивая ее на ту, с которой она последний раз работала. Вы можете использовать текущую строку так же, как
$
или номер строки типа 1:

Поделиться:
Популярные книги

Стеллар. Трибут

Прокофьев Роман Юрьевич
2. Стеллар
Фантастика:
боевая фантастика
рпг
8.75
рейтинг книги
Стеллар. Трибут

Его огонь горит для меня. Том 2

Муратова Ульяна
2. Мир Карастели
Фантастика:
юмористическая фантастика
5.40
рейтинг книги
Его огонь горит для меня. Том 2

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Совершенно несекретно

Иванов Дмитрий
15. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Совершенно несекретно

Ваше Сиятельство 2

Моури Эрли
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Ваше Сиятельство 2

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Единственная для темного эльфа 3

Мазарин Ан
3. Мир Верея. Драконья невеста
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Единственная для темного эльфа 3

Жандарм

Семин Никита
1. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
4.11
рейтинг книги
Жандарм

Долгий путь домой

Русич Антон
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
6.20
рейтинг книги
Долгий путь домой

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Наследие Маозари 6

Панежин Евгений
6. Наследие Маозари
Фантастика:
попаданцы
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 6

Я еще не барон

Дрейк Сириус
1. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще не барон

Лолита

Набоков Владимир Владимирович
Проза:
классическая проза
современная проза
8.05
рейтинг книги
Лолита