-
名前に複数の「」が含まれるフォルダーを複数削除するにはどうすればよいでしょうか?
例えば:
e97bf913-5759-4fff-bdaf-2f931b53a432/
39f953c5-dab0-420e-a650-a50a30f48097/
答え1
パターン
*-*-*/
2 つ以上のハイフンを含むディレクトリと一致します。 は*
任意の文字列 (0 文字以上) と一致します。
ハイフンで始まって終わってはいけないディレクトリ名だけを一致させたい場合(あなたの例のように)、次のようにします。
[!-]*-*-*[!-]/
代わりに、 ( ) ハイフン[!-]
以外の任意の文字に一致します。!
走る
ls -d [!-]*-*-*[!-]/
まずこれらが削除したいものかどうか確認します。その後、
rm -r [!-]*-*-*[!-]/
再帰的に削除します。本当に強制的に削除する必要がある場合は、-f
コマンドに を追加します。
答え2
rm -r *-*-*-*-*
警告: これにより、このスキームに一致するすべてのファイルが削除されます。次のようなファイル:
system-file-separated-by-minus
も削除されます。
'*' の部分は、次の文字までのすべて (0 文字、1 文字、または複数の文字) を表します。この場合は、マイナス記号で区切られます。ファイルの - の前に 8 文字、次の - の前に 4 文字あることがわかっている場合は、次のように記述できます。
rm -r ????????-????-????-????-????????????
すべての ? は任意の文字を表します。これにより、スキームに一致するすべてのファイルが削除されます。ただし、同じスキームを持つ不要なファイルも削除される可能性があるため、最初にこれを確認してください。
答え3
親ディレクトリでこのコマンドを実行するだけです
rm -r *-*-*/