̃Gg[͂ĂȃubN}[Nɒlj

Unix :: 拡張子が「.bak」のファイルを削除



/path/to/hoge 配下の拡張子が「.bak」のファイルを削除

% find /path/to/hoge -type f -name '*.bak' -exec rm {} \;


ファイル数が多すぎて引数があふれる場合は、「find + xargs」の組み合わせがおすすめ

% find /path/to/hoge -type f -name '*.bak' -print0 | xargs -0 rm


[Tips]
find の -print0 オプションと xargs の -0 オプションを指定することで、ファイル名に改行やスペースが混入しているファイルでも正しく削除できます。


find -print0

ファイル名をフルパスで標準出力に表示し、各ファイル名にNULL文字を付加する。
このオプションは最後に付ける。


xargs -0, --null

標準入力からの文字列の区切りに、空白ではなくヌル文字が使われているとみなす。
また引用符やバックスラッシュに特別の意味を持たせず、すべての文字をそのまま用いる。
ファイル終了文字列も無効となり、他の文字列と同じように扱われる。
入力される文字列に空白・引用符・バックスラッシュが含まれている場合に有用である。



unix/command_operation/find_exec_rm.txt