sed: пример поиска с заменой в текстовом файле

vi -  отличный редактор ) 
Но иногда надо править конфигурационные файлы из командной строки или через пакетную обработку. Один из инструментов - sed

Пример использования: 

root~/tmp# sed -i.bak "s/;\?SearchFor.*/ReplaceBy/I" ./file.orig

Здесь: 
  • -i.bak все исправления записывать в файл-источник (т.е редактирование этого файла), предварительно создав копию файла с расширением ".bak"
  • "s/;\?SearchFor.*/ReplaceBy/I" - регулярное выражение для поиска и замены текста: 
    • s/ : "s" - замена, шаблоны ограничены символом "/" (можно использовать другие, например "s#...#...#")
    • ;\? : подстрока поиска может начинаться или нет (\?) с символа ";" ...
    • SearchFor.* : ... и далее в поиске идет обязательно "SearchFor", после - произвольные символы до конца строки
    • /ReplaceBy: на что менять найденную подстроку 
    • /I : искать подстроку не учитывая регистр (IgnoreCase)
  •  ./file.orig файл для редактирования 


Ссылки

Комментарии