39
39
Linuxで特定の文字列で始まるすべてのファイルを削除する方法
Advertisement
ディレクトリツリー内の名前NAMEで始まるファイルをすべて見つけて、1つのシェルコマンドを使ってこれらのファイルをすべて削除する必要があります。
Advertisement
ディレクトリツリー内の名前NAMEで始まるファイルをすべて見つけて、1つのシェルコマンドを使ってこれらのファイルをすべて削除する必要があります。
私はこの方法を試してみましたが、以下のコマンドを試してみてください。
rm -rf Example*
ここでの “Example "は全てのファイルに共通のテキストです。
globstarオプション](https://www.gnu.org/software/bash/manual/bash.html#The-Shopt-Builtin) (shopt -s globstarで有効にする):
rm -f **/NAME*
**/ ./、*/、*/*/、*/*/*/、NAMEなどと展開します。rmで始まるdirectory名がある場合、コマンドはrmがディレクトリを削除できないと文句を言いますが、それだけです。
グロブが多数のファイルにマッチする場合、これはコマンドラインの長さの制限にぶつかる可能性があることに注意してください。
find . -type f -name 'NAME*' -exec rm -f {} +
(+ 文を閉じるために \; の代わりに -exec を使用していることに注意)
find . -name 'foo'* -type f -delete が一番シンプルな答えのようです。
どのファイルが削除されるかを確認するために、前に-deleteフラグを付けずにこれを実行することができます。