拡張子が部分的な名前に基づいていても、ファイルを削除する最良の方法を知りたいと思いました。
例:
13-05-12_foo_something.jpg
13-06-01_something.png
13-05-05_foo_site.html
名前に_foo_
が含まれるディレクトリおよびサブフォルダ内のすべてをrmします。
簡単な方法:
cd /path/to/directory
rm *_foo_*
または
rm /path/to/directory/*_foo_*
アスタリスク(*
)はすべての文字に一致します。
何が行われているかについての説明を取得するには、rm
を-v
オプションとともに使用します。すべての削除の前にプロンプトを表示するには、rm
を-i
オプションとともに使用します。
rm -vi *_foo_*
詳細については、man rm
を参照してください。
すべてのサブディレクトリでもそれを行いたい場合、最も簡単な方法はglobstar Shellオプションを有効にすることです:
shopt -s globstar
rm **/*foo_*
デフォルトの#
(私の場合は29行目)にコメント(つまり、~/.bashrc
で始まる行)が必要です。
# shopt -s globstar extglob
その行のコメントを外すだけで、いくつかの 改良されたbash機能 にアクセスできます。