2013-09-13

空のディレクトリを削除する

find コマンドって便利ね。



空のディレクトリを探す
find . -type d -empty


空のディレクトリを削除する
find . -type d -empty -delete





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宣言 も抽出されてしまう。





OpenIDについてぼやく

FacebookもYahooもmixiもOpenIDに対応してるって言ってるけど、肝心のOpenIDを使ってログインできるページがどこにも見当たらない。

googleアカウント持ってるから、googleのOpenID使ってログインしたいんだけど、する場所がない。

googleにもない。

俺の理解が不足しているのか、探し方が下手なのか。

そもそも、OpenIDって、サイト間でログイン情報(ID、パスワード)を共有しましょうっていうあれでしょ?

Facebookアカウント持ってないし、Yahoo!のアカウントも持ってないし、mixiなんかもってのほか。

よくわからんのだが、googleのOpenIDでFacebookやYahoo!にログインして、FacebookやYahooのアカウントが無かったら、新しく作るページかなんかが開くと思ってるんだが、違うか?

教えて。

.htaccessで403を404で返す

久しぶりにリライトルールを書いたよ。 ドキュメントルートに.htaccessを置く場合の記述↓ # 403.html は実体がなくてよい。この設定をすることで、あっても使われなくなる。 ErrorDocument 403 /403.html # 独自の404ページをドキュメ...