Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何删除特定文件夹中的特定文件夹_Bash - Fatal编程技术网

Bash 如何删除特定文件夹中的特定文件夹

Bash 如何删除特定文件夹中的特定文件夹,bash,Bash,使用 我能够在当前目录中找到文件夹名称中包含\u develop-的所有文件夹,例如 find . -name "*_develop-*" 现在,在这些找到的文件夹中,我想删除文件夹“temp”。 如何通过管道将所需命令导入结果文件夹,找到所需文件夹,然后将其删除?您可以使用-exec选项对匹配文件夹执行rm-rf命令 命令应该是这样的: myfolder_develop-abcd myfolder_develop-efgh {}表示匹配文件夹,因此{}/tmp/表示匹配文件夹中的tmp

使用

我能够在当前目录中找到文件夹名称中包含
\u develop-
的所有文件夹,例如

find . -name "*_develop-*"
现在,在这些找到的文件夹中,我想删除文件夹“temp”。

如何通过管道将所需命令导入结果文件夹,找到所需文件夹,然后将其删除?

您可以使用
-exec
选项对匹配文件夹执行
rm-rf
命令

命令应该是这样的:

myfolder_develop-abcd  
myfolder_develop-efgh

{}
表示匹配文件夹,因此
{}/tmp/
表示匹配文件夹中的tmp文件夹

您可以使用-regex标志

find . -name "*_develop-" -exec rm -rf  {}/tmp/ \;
或者如果它是正下方的文件夹

find . -regex '.*_develop-.*/temp' -type d -delete
将find与xargs一起使用

find . -regex '.*_develop-[^/]*/temp' -type d -delete
使用
print0
xargs-0
将空格替换为
NULL
字符。如果某些目录名中有空格,那么它很有用,因此如果没有空格,xargs将失败


您可以使用find
-wholename“*_develope-*/temp”-删除
,但如果
temp
目录不为空,则删除操作将失败。

您始终可以使用grep进行筛选,并使用xargs将结果传递到rm-rf命令。temp是developer文件夹中的一个文件夹,而不是文件夹名称的一部分。
find . -wholename "*_develop-*/temp" -print0 | xargs -0 rm -rf