我有一个名为 的目录Dual_Loop_PLL
。其中我有 2 个子目录:agent
和test
。在里面agent
我有一个名为 的目录dl_pll_agent
,在里面dl_pll_agent
我有dl_pll_agent2
.我想分别将dl_pll_agent
和重命名dl_pll_agent2
为dual_loop_pll_agent
和dual_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
$d2
find