如何使用find在指定的子目录

时间:2016-01-17 12:44:13

标签: find

我有多个网站使用我自己的模板,现在我已经更新了我的模板,我想使用find更新模板。

如果我这样做

find . -name template.css -print -exec cp NEW_FILE {} \;

然后所有其他template.css都会被覆盖到。

我只希望模板被覆盖,如果它们在mytemplate / css目录中。

任何一个想法?

示例:

/site1/templates/mytemplate/css/template.css*
/site1/templates/othertemplate/css/template.css
/site1/templates/other2template/css/template.css
/site2/templates/mytemplate/css/template.css*
/site2/templates/othertemplate/css/template.css
/site2/templates/other2template/css/template.css
/site3/templates/mytemplate/css/template.css*
/site3/templates/othertemplate/css/template.css
/site3/templates/other2template/css/template.css

带*的文件只能被覆盖

1 个答案:

答案 0 :(得分:1)

您可以使用-wholename标志和正确的正则表达式。这适用于您的示例:

find . -wholename "*/mytemplate/css/template.css" -print -exec cp NEW_FILE {} \;