我想重命名 basedir 下与名称匹配的所有目录。例如:
In basedir/
, 我有:
- foo/bar/blah
- my/bar/foo
- some/bar/foo1
- other/foo/bar
我想重命名所有匹配的目录bar
,但我想保留前缀部分。
With find
,我可以轻松地列出所有目录,如下所示:
find . -name repositoryunit -type d
但是,我该如何使用-exec mv {} ...
(或者也许与另一个应用程序结合)以便保留前缀?
提前谢谢了!
find . -depth -name bar -type d -execdir mv {} baz \;
-execdir
在执行命令之前将目录更改为父目录,因此mv
这里将是每个父目录的本地目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)