Usando o comando sed para localizar e substituir o código

0

Eu tenho um bloco de código php (dentro de <? php ... ?> ) em vários arquivos que eu quero remover.

Eu tentei colocar o código em uma variável:

var="<?php [some code in here] ?>"

Em seguida, execute isto:

find . -type f -name '*.php' -exec sed "s|$var| |" {} \;

Ou

find . -type f -name '*.php' -exec sed -i 's/'"$var"'.*/'"$str"'/g' {} \;

(onde str="")

Existe uma maneira de fazer isso?

    
por Vu Hoang 01.05.2018 / 07:02

1 resposta

0

Tente isso, mas remova o -i da primeira vez para ter certeza de que funciona:

var='echo rand(1, 10);'  # dummy code, change to whatever.
sed -i 's/<? php '"${var}"' ?>//' *.php

Notas:

  • O código em $var é considerado uma linha única.
  • Se o código contiver qualquer% de aspas simples ' , escape-as assim \' .
  • O texto acima supõe que a variação de espaço em branco não é um problema, mas geralmente pode ser.
por 01.05.2018 / 07:43

Tags