• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Solarisで0byteのファイルのみ削除したい)

Solarisで0byteのファイルのみ削除する方法

このQ&Aのポイント
  • Solaris環境で、0byteのファイルを削除する方法を提案します。大量の0byteファイルが溜まる問題を解決するために、シェルスクリプトを使用して自動的に削除します。ファイル名に関係なく、0byteのファイルは全て削除されます。
  • 以下のコマンドを使用することで、0byteのファイルを特定のディレクトリから削除することができます。
  • ただし、注意点として、誤ってデータが含まれるファイルを削除してしまう可能性があるため、注意が必要です。また、対象のディレクトリ名が変更になる可能性があるため、ワイルドカードを使用して対応しています。

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

  • ベストアンサー
  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

ざっと見それであっているように思えますが、そちらのシステム詳細を知らない外部の人が「大丈夫ですよ」と太鼓判を押すのは結構難しいと思います。ENDフォルダ以下にシンボリックリンクがあって無限ループするかもしれないし、通常ファイルでなくデバイスファイルがあるかもしれないし、ファイル権限がばらばらでエラーメッセージだらけになるかもしれないし…。 そういうわけで、ご自分でチェックするポイント。 1)-execでなく-okにして、しばらく回してみてよさそうなら、execに書き換えて実行する。 2)「組織は変更になる可能性があるため、"*"にすることで対応できているか」は、コマンド時移行前に echo /var/tmp/*/END の表示を確認する。 の2点ぐらいでしょうか。

その他の回答 (1)

  • trapezium
  • ベストアンサー率62% (276/442)
回答No.2

自分も同様の懸念が。念のため -type f 付けるのと、rm に -f 指定と \; の代りに + の方がいいような気がします。 あと "*" で E2BIG とかの心配あるなら find /var/tmp -type d -name END に対して上記 find, その場合は -exec か xargs に渡すかシェル的にループさせるかでしょうか。

関連するQ&A