• ベストアンサー

findコマンドで複数条件を設定する方法

findコマンドを使用して、最終更新日から10日以上経過しているかつ、拡張子が.gz 以外のファイルを圧縮する方法を教えていただきたいです。 それぞれ1つの条件を満たすコマンドはわかるのですが、2つの条件を満たすコマンドをどの様に作成すればよいかわかりません。 最終更新日から10日以上経過したファイルを圧縮 find . -mtime +10 -exec gzip {} ¥; 拡張子が.gz意外のファイルを圧縮 find . -name "*.gz" -prune -o -type f -print -exec gzip {} ¥; よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

この例であれば、拡張子gzのファイルにgzipコマンドを実行しても何も起こらないので、 find . -mtime +10 -exec gzip {} ¥; だけで十分です。警告メッセージを出したくなければ、 find . -mtime +10 -exec gzip -q {} ¥; 質問にそのまま答えると、 ind . -name "*.gz" -prune -o -type f -mtime +10 -exec gzip {} ¥;

daisuki1192
質問者

お礼

ご回答ありがとうございました。 環境の違いからか、回答していただいたコマンドでは想定の結果が得られず、最後に-printを追加すると想定の結果を取得することができました。

関連するQ&A