Linux red hat + заменить PATH или слово в скриптах

В папке:

/var/userTN/applo folder

У меня есть около 100 сценариев оболочки, которые включают следующий ПУТЬ:

GLOBAL_PATH=/export/pop/PLW5

Я хочу заменить ПУТЬ во всех сценариях в папка:

/var/userTN/applo 

в этот ПУТЬ

GLOBAL_PATH=/export/lld/sat

Как заменить ПУТЬ:

GLOBAL_PATH = / export / pop / PLW5

Во всех файлах в папке:

/ var / userTN / applo

С помощью find + sed или другого подхода? (как решение Perl one liner)

примечание:

Replace должен точно соответствовать « GLOBAL_PATH = / export / pop / PLW5 »

Например

PATH -> GLOBAL_PATH = / export / pop / PLW51 (не заменять!)

0
08.05.2016, 10:04
1 ответ

Использование sed :

sed -i.bak 's#^\(GLOBAL_PATH=/export/\)pop/PLW5$#\1lld/sat#' /var/userTN/applo/*

Исходные файлы будут скопированы с расширением .bak , если вы этого не сделаете. Мне нужны резервные копии:

sed -i 's#^\(GLOBAL_PATH=/export/\)pop/PLW5$#\1lld/sat#' /var/userTN/applo/*

Пример:

$ sed 's#^\(GLOBAL_PATH=/export/\)pop/PLW5$#\1lld/sat#' <<<'GLOBAL_PATH=/export/pop/PLW5'
GLOBAL_PATH=/export/lld/sat
1
28.01.2020, 02:48

Теги

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