1 MBを超えるフォルダー内のすべてのファイルを削除するとします。
$ find . -size +1M | xargs -0 rm
名前にスペースがあるファイルは削除されません。したがって、rm
に送信するすべての引数を引用する必要があります。 find
がそれを与える場合Some report.docx
渡す必要があります"Some report.docx"
からrm
へ。
どうやってやるの?
簡単な使用:
find . -size +1M -delete
xargs
とrm
をfind
と一緒に使用する場合は、-print0
コマンドで:
find . -size +1M -print0 | xargs -r0 rm --
他の方法:
find . -size +1M -execdir rm -- {} +
から man find
:
-print0
True; print the full file name on the standard output, followed by a null
character (instead of the newline character that -print uses). This allows file names
that contain newlines or other types of white space to be correctly interpreted by
programs that process the find output. This option corresponds to the -0 option of
xargs.