- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Solarisで0byteのファイルのみ削除したい)
Solarisで0byteのファイルのみ削除する方法
このQ&Aのポイント
- Solaris環境で、0byteのファイルを削除する方法を提案します。大量の0byteファイルが溜まる問題を解決するために、シェルスクリプトを使用して自動的に削除します。ファイル名に関係なく、0byteのファイルは全て削除されます。
- 以下のコマンドを使用することで、0byteのファイルを特定のディレクトリから削除することができます。
- ただし、注意点として、誤ってデータが含まれるファイルを削除してしまう可能性があるため、注意が必要です。また、対象のディレクトリ名が変更になる可能性があるため、ワイルドカードを使用して対応しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ざっと見それであっているように思えますが、そちらのシステム詳細を知らない外部の人が「大丈夫ですよ」と太鼓判を押すのは結構難しいと思います。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 に渡すかシェル的にループさせるかでしょうか。