使用
find . -name "*_develop-*"
我能够在文件夹名称中找到当前目录中包含_develop-
的所有文件夹,例如
myfolder_develop-abcd
myfolder_develop-efgh
现在在这些找到的文件夹中,我想删除文件夹“temp” 如何管道所需的命令以查看生成的文件夹,找到所需的文件夹然后将其删除?
答案 0 :(得分:1)
您可以使用-exec
选项在匹配文件夹上发出rm -rf
命令。
命令应该是这样的:
find . -name "*_develop-" -exec rm -rf {}/tmp/ \;
{}
代表匹配文件夹,因此{}/tmp/
代表匹配文件夹中的tmp文件夹
答案 1 :(得分:1)
你可以使用-regex flag
find . -regex '.*_develop-.*/temp' -type d -delete
或者如果它是
正下方的文件夹find . -regex '.*_develop-[^/]*/temp' -type d -delete
答案 2 :(得分:0)
使用find with xargs
find . -wholename "*_develop-*/temp" -print0 | xargs -0 rm -rf
使用print0
和xargs -0
用NULL
字符替换空格。如果某些目录名中有空格很有用,那么没有它就会失败。
您可以使用find . -wholename "*_develop-*/temp" -delete
但如果temp
目录不为空,则会失败。