0

いくつかの PHP ファイルで、置き換えたい"?>\s\t\n\EOF". 以下を使用して、この問題が発生したすべてのファイルを検索するためにこれをテストします。

ack "\?\>[\s\n\t]+\z"

?>EOF私は結果を取りますが、これを唯一のものに置き換えたいです。「sed」で別のコマンドをテストします。

sed 's/?>[\n\t\s]+\z/?>/'

ヒントはありますか?

例 :

?>  
4

1 に答える 1

1

ack は perl ベースで、sed は \z などを認識しません。パールを使用:

perl -pe 's/\?\>[\s\n\t]+\z/?>\n/'

また、\z は EOF ではなく、単に文字列の末尾であるため、\z は各行の末尾に一致します。これをファイルの最後でのみ一致させたい場合は、\z 以外のものを使用する必要があります。

于 2012-04-05T16:24:33.150 に答える