0

我目前正在尝试将所有包含123的目录重命名为321
例如,如果我有一个名为 test123test 的目录,我想将其重命名为 test321test。

到目前为止,我有一些看起来像的东西:
find . -depth -name *123* -exec mv {} 这就是我遇到问题的地方\;
因为我看不到如何根据原始名称替换文件夹的名称。

如果您对如何进行有任何想法,请随时贡献。

4

1 回答 1

2

尝试使用 for 循环:

for dir in `find . -type d -depth X -name '*123*'` ; do
    mv "$dir" "${dir/123/321}"
done

注意:您需要X在上面进行编辑。如果有像 ' ./dir123/dir123/'这样的路径,它可能会失败

于 2013-03-27T10:00:05.677 回答