Substituindo texto entre duas cadeias específicas

0

Eu tenho um grande número de arquivos que têm um valor de CSS obsoleto "hspace" e quero alterá-lo com outro valor de estilo css. Aqui está um exemplo: nós temos:

hspace='5'

e queremos mudar com:

style="margin: 0 5px;"

cada arquivo tem um valor diferente dentro de hspace , um pode ser hspace='5' other hspace='2' , hspace='7' e assim por diante.

o que eu quero é encontrar em todos os arquivos em um diretório específico:

hspace='ANY NUMBER'

e substitua por:

style="margin: 0 5px;"

Alguma sugestão para fazer isso em bash centos os?

    
por becoolflyer 06.04.2017 / 16:20

1 resposta

3

Você pode usar este comando para substituir (assumindo o GNU sed como encontrado no CentOS):

sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 px;\"/g" filename.html

Para substituir todos os arquivos .html:

find . -type f -name '*.html' -exec sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 px;\"/g" {} +
    
por 06.04.2017 / 16:26