如何删除-
名称中包含多个名称的多个文件夹?
例如:
e97bf913-5759-4fff-bdaf-2f931b53a432/
39f953c5-dab0-420e-a650-a50a30f48097/
答案1
图案
*-*-*/
匹配具有两个或多个连字符的目录。匹配*
任何字符串(零个或多个字符)。
如果您只想匹配不应以连字符开头和结尾的目录名称(如您的示例中所示),您可以使用
[!-]*-*-*[!-]/
反而。匹配[!-]
任何不是 ( !
) 连字符的字符。
跑步
ls -d [!-]*-*-*[!-]/
首先看看这些是否是您要删除的。然后运行
rm -r [!-]*-*-*[!-]/
递归删除它们。如果您确实需要强制删除,请添加-f
到命令中。
答案2
rm -r *-*-*-*-*
警告:这将删除与此方案匹配的每个文件。所以文件如下:
system-file-separated-by-minus
也会被删除。
“*”部分代表下一个给定之前的所有内容(零个、一个或多个字符),在本例中用减号分隔。如果您知道文件的 - 前面有 8 个字符,下一个字符前面有 4 个字符,您可以说:
rm -r ????????-????-????-????-????????????
每一个 ?代表任何字符。这将删除与您的方案匹配的所有文件。但具有相同方案的文件也会被删除,但您可能不想要,因此请先检查这一点。
答案3
只需在父目录中执行此命令即可
rm -r *-*-*/