Редактор ed
w. Однако, если вы пытаетесь закончить редактирование без записи ваших изменений, ed выдает '?' как предупреждение. Есть другая команда q, позволяющая завершить работу независимо от внесения исправлений.$ ed poem
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
263
q
$ wc poem
8 46 263 poem
$
shell!'Если вы запустили ed
shell. В этом случае нет необходимости прекращать работу достаточно ввести команду ed '!'.$ ed poem
! wc poem
8 46 263 poem
!
q
$
Строки файла нумеруются как 1, 2 … Вы можете печатать n
np или просто номер n, и строки с m по n, используя m,np. "Номером строки" $ обозначается последняя строка, так что строки можно не считать.1 | Печатать первую строку; 1р то же самое |
$ | Печатать последнюю строку; $p то же самое |
1,$p | Печатать строки с первой по последнюю |
Печатать файл по одной строке проще всего; нажимая клавишу RETURN
-'. Можно комбинировать номера строк с '+' и '-'.$-2,$p | Печатать последние три строки |
1,2+3p | Печатать строки с первой по пятую |
Однако нельзя печатать после конца файла или в обратном порядке; команды типа $,$+1p
$,1p считаются незаконными.Команда list 1
vis в гл. 7).Как только размер начинает превышать две строки, становится неудобным печатать его весь целиком, чтобы отыскать нужную строку. Редактор ed
/pattern/ обнаруживает очередное вхождение pattern.$ ed poem 263
/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
and greater still, and so on.
/flea/
Great fleas have little fleas
??
have greater fleas to go on;
Результатом поиска по образцу типа /flea/
$, который может использоваться в том же контексте, что и такие номера:1,/flea/p | Печатать от единицы до следующего flea |
?flea?+1,$p | Печатать от предыдущего flea + 1 до конца |
Текущая редактируемая строка. Редактор ed
.'. Каждая команда определенным образом влияет на текущую строку, обычно настраивая ее на ту, с которой она последний раз работала. Вы можете использовать текущую строку так же, как $ или номер строки типа 1:$ ed poem
263
.
это то же, что $
and greater still, and so on.
.-1,.p
While these again have greater still,
and greater still, and so on.
Выражения для номера строки могут быть сокращены: