コマンドラインの複数のファイルの検索と置換で提供される回答を使用して、UNIXコマンドラインからすべてのファイルで複雑な検索と置換を実行しようとしていますが、検索と置換の文字列を適切にエスケープできないようです。
次を含むすべての行を見つける必要があります。
if ($session['test']>0){
そしてそれを
if ($session['test']>1){
私が試しているコマンドは次のとおりです。
find . -name '*.php' |xargs perl -pi -e 's/if\(\$session\[\'test\'\]\>0\){/if\(\$session\[\'test\'\]\>1\){/g'
しかし'
、コマンドが終了していない文字列があることを通知するため、追加の文字を入力する必要がある別のプロンプトが表示されます。'
最後に追加すると、次のようになります。
Unmatched ) in regex; marked by <-- HERE in m/if\(\$session\[\test']>0) <-- HERE {/ at -e line 1.
この代替品を機能させるにはどうすればよいですか?