Операционная система UNIX

       

Метасимвол * (звездочка)



6.16.5. Метасимвол * (звездочка)

Метасимвол "*" означает, что символ, за которым он следует, может повторяться произвольное число раз.

Если в тексте имеется большое количество пробелов, их можно сжать, например: Московское время 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).



Содержание раздела