여러 파일에 (내부적으로) PHP 코드 조각이 있는데 <? php ... ?>
이를 삭제하고 싶습니다.
코드를 변수에 넣어 보았습니다.
var="<?php [some code in here] ?>"
그런 다음 다음을 실행하십시오.
find . -type f -name '*.php' -exec sed "s|$var| |" {} \;
또는
find . -type f -name '*.php' -exec sed -i 's/'"$var"'.*/'"$str"'/g' {} \;
(여기서 str="")
이를 수행할 수 있는 방법이 있습니까?
답변1
이것을 시도하되 -i
먼저 제거하여 제대로 작동하는지 확인하십시오.
var='echo rand(1, 10);' # dummy code, change to whatever.
sed -i 's/<? php '"${var}"' ?>//' *.php
노트:
- 코드는
$var
한 줄의 코드로 간주됩니다. - 코드에 작은
'
따옴표가 포함되어 있으면 다음과 같이 이스케이프 처리하세요\'
. - 위의 내용에서는 공백 변형이 문제가 되지 않는다고 가정하지만 문제가 될 수 있는 경우가 많습니다.