заменить строку сложного текста в нескольких файлах

У меня есть куча файлов с именем Linux в разных подпапках, где вся строка

 DSY_OS_Release=`lsb_release --short --id |sed 's/ //g'` 

необходимо заменить на

 DSY_OS_Release="RedHatEnterpriseWorkstation" 

Как я могу достичь этого, используя командную строку?

Я знаю, что это звучит как дублирующий вопрос, но я не мог найти ответа, который работает для моей довольно сложной строки.

One Solution collect form web for “заменить строку сложного текста в нескольких файлах”

Если вам не нужно соответствовать всей строке, просто используйте

 sed 's/^DSY_OS_Release=.*/DSY_OS_Release="RedHatEnterpriseWorkstation"/' 

В зависимости от вашей реализации sed вы можете использовать sed -i '...' file , или вам, возможно, придется перенаправить на новый файл и затем заменить оригинал.

Что касается того, как запустить это в наборе файлов: если все файлы соответствуют определенному шаблону, например *.config , тогда (при условии, что GNU sed ):

 find /some/path -type f -name '*.config' \ -exec sed -i '...as above...' {} \; 
  • Поиск шаблона между определенными линиями и номерами строк печати
  • Почему эта команда awk не играет так же хорошо, как найти sed?
  • Как удалить определенное количество строк каждый раз, когда определенная строка найдена в файле
  • Условно удалить строку из файла
  • Я хочу найти дубликаты в файле и добавить символ в конец строки в первом совпадении
  • Обмен одной колонки из файла1 с файлами из файла2
  • Как сгенерировать файл со всей строкой, соответствующей шаблону из другого файла
  • Может ли sed сохранить свой вывод в файл?
  • Поиск и замена вопроса
  • Существуют ли стандартные версии `sed`, на которых` -E` не поддерживается?
  • Как я могу исключить строки, которые соответствуют шаблонам диапазона в sed?
  • Interesting Posts

    Функциональные клавиши больше не доступны для переключения рабочих областей

    Вызов sed для замены строки, хранящейся в переменной bash

    Возможно ли запустить xen внутри VirtualBox?

    Установка старого Xen Невозможно отформатировать

    Можете ли вы сделать неотвратимый chroot с пространствами имен mount?

    Команда Bash Sudo не найдена

    Можно ли выполнить команду (запустить многократно)? как можно было бы следовать файлу с помощью tail -f?

    Ошибка systemd-timesyncd в контейнере OpenVZ

    Команда «file» запутывает C & C ++

    заменить столбец csv-файла на столбец из другого файла

    Проблема: ничего не предоставляет libcrypto.so.10 () (64 бит), необходимый Percona-Server-client-57-5.7.10-3.1.el7.x86_64

    Настольные уведомления о завершенных задачах

    Как каналы ввода / вывода реализованы в ядре Linux?

    рекурсивно удалять все файлы, пустые каталоги и каталоги с файлами из нескольких имен в текущем каталоге, включая текущий каталог

    Как получить первые 5 символов git commit hash id и сохранить его в переменной в bash?

    Linux и Unix - лучшая ОС в мире.