Linux red hat + substitua PATH ou word em scripts

0

Na pasta:

/var/userTN/applo folder

Tenho cerca de ~ 100 scripts de shell que incluem o seguinte PATH:

GLOBAL_PATH=/export/pop/PLW5

Eu quero substituir o PATH em todos os scripts da pasta:

/var/userTN/applo 

para este PATH

GLOBAL_PATH=/export/lld/sat

Como substituir o PATH:

GLOBAL_PATH = / export / pop / PLW5

Em todos os arquivos na pasta:

/ var / userTN / applo

Com o find + sed ou outra abordagem? (como solução Perl one liner)

observação:

Substituir deve corresponder exatamente ao “ GLOBAL_PATH = / export / pop / PLW5

Por exemplo

O PATH - > GLOBAL_PATH = / export / pop / PLW51 (não deve ser substituído!)

    
por yael 08.05.2016 / 09:04

1 resposta

1

Usando sed :

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

O (s) arquivo (s) original (is) terá backup com a extensão .bak , se você não quiser backup (s):

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

Exemplo:

$ sed 's#^\(GLOBAL_PATH=/export/\)pop/PLW5$#lld/sat#' <<<'GLOBAL_PATH=/export/pop/PLW5'
GLOBAL_PATH=/export/lld/sat
    
por 08.05.2016 / 09:10