Список файлов в иерархии каталогов

Хотя кажется, что почти никто не использует его, sed предоставляет команду c (изменить) для всего -line replace:

 c \ 
text 
 
Удалить строки, соответствующие адресу или диапазону адресов, и 
вывести строки текста, следующие за этим команда. 
 

Так, например, вы можете использовать

sed '/\bHost\b/c\                      
my new text
' file

для изменения строк, содержащих целое слово Host , на мой новый текст . Последовательность \ b представляет собой границу слова, поэтому она исключает частичные совпадения, такие как Имя хоста - в GNU sed вы можете использовать \ < и \> , то есть \ , и вы также можете поместить новый текст в одну строку:

sed '/\<Host\>/cmy new text' hostfile

, что похоже на то, к чему вы стремились в своем выражении - вы просто пропустили фактический c и получил спецификаторы границы слова в обратном порядке, то есть <\. . .> \ вместо \ <. . . \>

1
07.09.2015, 01:40
0 ответов

Теги

Похожие вопросы