В папке:
/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 (не заменять!)
Использование 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