Contents
- UNIX
- Windows
- サーバ
- プログラミング言語
- データベース
- プロトコル
- サービス
- オープンソース
- 規格・技術
- アプリケーション
- PC
- DEVICE
- その他(未分類)
お問合せ: メールフォーム
/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
標準入力からの文字列の区切りに、空白ではなくヌル文字が使われているとみなす。 また引用符やバックスラッシュに特別の意味を持たせず、すべての文字をそのまま用いる。 ファイル終了文字列も無効となり、他の文字列と同じように扱われる。 入力される文字列に空白・引用符・バックスラッシュが含まれている場合に有用である。