Метасимвол * (звездочка)
Метасимвол "*" означает, что символ, за которым он следует, может повторяться произвольное число раз.
Если в тексте имеется большое количество пробелов, их можно сжать, например:
Московское время 18 часов
В результате выполнения команды:
s/e *время 1/e время 1/p
получим:
Московское время 18 часов
Если скомбинировать точку и *, то можно сопоставить все символы. С помощью этой комбинации можно, например, заменить все символы в последней части строки:
p<CR>
Toads are alimy, cold creatures s/are.*/are wonderful and warm <CR>
Toads are wonderful and warm
ed автоматически запоминает последнюю строку символов в шаблоне поиска или замененный текст. Однако вы должны подсказать ed, что нужно повторить замену, используя знак "%". Знак "%" позволяет вам сделать одинаковую замену во многих строках, не используя глобальной замены. Например, заменим слово money на слово gold, повторим последнюю замену в строках от 1 до 3:
1, $n<CR>
1 I love money 2 I need food 3 I use money 4 The IRS wants my money ls/money/gold<CR>
I love gold 3s//g<CR>
I use gold 1, $n<CR>
1 I love gold 2 I need food 3 I use gold 4 The IRS wants my money
ed автоматически запоминает слово money, так что строка не будет повторена между первыми двумя ограничителями. Знак "%" говорит ed - использовать последний шаблон для замены (gold).