Linuxコマンドの覚書(自分用)です。

一般的な方法

$ find . -type f -name filename* | xargs rm -f

.は現在のカレントディレクトリを指します。ここを起点としてサブディレクトリを再帰的に検索し、-nameの後に指定されたファイルを削除します。-nameで指定できるファイル名は*?のようなワイルドカードを使用できます。

-nameオプションを-inameとすることで、大文字・小文字の区別をせずに検索します。

但しこの場合は、検索結果のパス中に半角スペースが入っていると正しく動作しません。

半角スペースに対応

$ find . -type f -name filename* -print0 | xargs -0 rm -f

この場合、検索したパスに半角スペースが含まれていても正しく削除されます。

正規表現を使って検索

$ find . -type f -regextype posix-egrep -regex .*filname.* -print0 | xargs -0 rm -f

正規表現を使ってファイルを検索します。

この場合の正規表現は、ファイル名ではなくパス全体が検索の対象になりますので、それを考慮して正規表現を書きます。


0件のコメント

コメントを残す

メールアドレスが公開されることはありません。