複数のファイルに(内部的に)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
1行のコードと見なされます。 - コードに一重
'
引用符が含まれている場合は、次のようにエスケープしてください\'
。 - 上記では空白のバリエーションが問題にならないと仮定していますが、問題になることが多いです。