
このコマンドから結果を取得したいと思います:
find . -type f -size +200M -exec ls -lh {} \;
コンテンツを何らかの形式の変数に保存し、見つかったファイルを削除します。
これどうやってするの?
答え1
find
ファイルを削除するためだけに、変数にの結果を保存する必要はありません(言及していない特定の要件がない限り)。 では、それを自動的に実行するfind
特別な-delete
パラメータが提供されています。
find . -type f -size +200M -print -delete
によって返されたファイルを実際に解析したい場合はfind
、次のようにする必要があります。
find . -type f -size +200M -print0 | xargs -0 rm -v
シェル変数をヌル文字で保持することはできないため、スペースでスクリプトを分割したくない(スペースでスクリプトを分割すると、巨大な虫) の場合、回避策としては、リストを一時ファイルに保存するか、データをシリアル化します (例base64
)。