アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年05月
≪04月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    06月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
find はファイル検索を行うコマンドですが、ちょっと工夫すると、いろいろな味がでてくるコマンドです。

その中で、案外知られていないのが、「-exec <実行コマンド>」オプション。
「-exec 」で指定することで、find の検索結果のファイルに対してコマンドを実行することができます。

PostgreSQL のオンラインバックアップで、古いアーカイブログを削除するのに使ってます。

普段の作業で、find で出力された結果を手作業で「rm」とかのファイル操作をしたりしてませんか?
「-exec」を利用すれば、ファイル操作までできるので便利ですよww

例えば、カレントディレクトリ内の0バイトのファイル消したいのであれば、以下のコマンドで実行できます。
 # find ./ -type f -size 0 -ok -exec rm {} \;

find の検索結果のファイル名が「{}」に出力されるので、を問い合わせしながら(-ok オプション)、「rm <find での検索結果>」を実行することができます。

同様にタイムスタンプが古いファイルを世代管理などで、別ディレクトリへ移動させることもできます。
 # find ./ -type f -ctime 10 -exec mv -f {} <別ディレクトリ> \;

とすると、10日以上変更のないファイルを<別ディレクトリ>へ移動させることができます。
古いログなどをローテーション、削除するような場合、役に立ちますww

ログを作成するようなシェルの中に、ついでに「 find ~ -exec コマンド \; 」でローテーション、削除を実装しておけば、不要なログの整理も一緒にできるので、ログの消し忘れを防止できます。

ファイルを確認しながら、作業する必要がるのならば、「-ok」オプションをつけて、問い合わせ実行することで、誤ったファイルを削除することも防止できます。

コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。