Linuxコマンドのワンライナー集

全文検索

で、指定したパス以下の全文検索が実行され、結果には対象のファイルと行番号が表示される。

使用例:hogeディレクトリ以下の、内容に「fuga」という文字列を含んだファイルを検索

 

指定のディレクトリ以下を再帰的にパーミッション変更

使用例:hogeディレクトリ以下の、すべてのディレクトリのパーミッションを755に変更

 

指定のディレクトリ以下の特定の名前のファイルを再帰的に削除

使用例:hogeディレクトリ以下の、desktop.iniファイルを全て削除

使用例:hogeディレクトリ以下の、拡張子が「.ini」のファイルを全て削除

 

WHERE句のINでプレースホルダを使う際の注意点

DBIモジュールでは、プレースホルダを使う場合、基本的な記述は下記のようになる。

んで、SQL分にWHERE句を含んでいる場合で、条件をINで複数指定している場合、

でいけると思いきや、値の最初の要素(カンマで区切った一番最初の値=「あ」)のみプレースホルダに代入されて処理されてしまう。つまり、

と同じ結果となってしまう。

どうやらカンマで連結した文字列を渡しても、配列要素とみなされるようだ。

なので、条件の数分だけ、プレースホルダを作り指定してやる必要がある。

単純に書くと、

てな感じ。

現実的にはINの条件数は動的になると思うので、うちでは下記のような感じで処理している。

・DB処理用ファイル(database.pl)

・呼び出し元

PHPでもフレームワークによってここの処理が違ったりするので注意が必要。