2013-09-12

find xargs grep で、PHP のソースを検索

拡張子が .html のファイルから、PHP のソースが記述されているファイルを抽出する必要があったので、find と xargs と grep の合わせ技で検索してみた。

こんな感じ。

cd /var/www/html
find . -name "*.html" -type f -print0 | xargs -0 grep -P '<\?[\s\S]*?\?>'

grep の -P オプションで複数行を対象とし、

正規表現の [\s\S]*? で改行が含まれている範囲も検索している。





なぜ、拡張子が.html のファイルを対象にしているかって?

それはね、.htaccess に

AddType application/x-httpd-php .php .html

って定義してあったサイトをバックアップから戻したときに

「サーバでPGが動くファイルは、戻さないで」

っていうオーダーがあったから。

じゃあ、なぜそんなオーダーが来たかというと...云わずもがなです。






ちなみに、<??> で囲まれている箇所を抽出しているので、

<?xml version="1.0" encoding="UTF-8"?>

みたいな XML宣言 も抽出されてしまう。





0 件のコメント:

コメントを投稿

Chatの「メッセージは投稿者によって削除されました」を非表示にする方法

Chrome拡張機能を自作してやってみよう! ♪できるかな できるかな ・・・ 無理ぽ (´・ω・`) iframeの中に、実際のメッセージのやり取りが表示されるので、 $(function(){ $('iframe[name^="spa...