重命名同名目录中的目录和子目录

重命名同名目录中的目录和子目录

我有一个名为 的目录Dual_Loop_PLL。其中我有 2 个子目录:agenttest。在里面agent我有一个名为 的目录dl_pll_agent,在里面dl_pll_agent我有dl_pll_agent2.我想分别将dl_pll_agent和重命名dl_pll_agent2dual_loop_pll_agentdual_loop_pll_agent2

我使用了以下命令。

echo -e "Enter directory name you want to replace : "
read d1
echo "Enter directory name with which you want to replace : "
read d2
find  -type d -exec rename $d1 $d2 * {} +

但我收到以下错误

rename: renaming ./Dual_Loop_PLL/agents/dl_pll_agent/dl_pll_agent2 to ./Dual_Loop_PLL/agents/dual_loop_pll_agent/dl_pll_agent2 failed: No such file or directory

答案1

的输出是什么ls -l ./Dual_Loop_PLL/agents ./Dual_Loop_PLL/agents/dual_loop_pll_agent

如果您回答了上述问题,那么您就会得到问题的答案。

另请阅读 的手册rename,以及 bash 手册中有关引用的部分:始终引用您的变量,例如"$d1"

我不确定你在做什么,你通过它:对和rename的评估,当前目录中所有文件的列表,以及 找到的文件列表。$d1$d2find

相关内容