Tengo un directorio llamado Dual_Loop_PLL. Dentro de eso tengo 2 subdirectorios: agenty test. Dentro agenttengo un directorio llamado dl_pll_agent, y dentro dl_pll_agenttengo dl_pll_agent2. Quiero cambiar el nombre dl_pll_agenty dl_pll_agent2a dual_loop_pll_agenty dual_loop_pll_agent2respectivamente.
He usado el siguiente comando.
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 * {} +
pero recibo el siguiente error
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

man renamequién es el autor? ¿Cuál es la línea de uso derename --help? (mostrar por pregunta de edición)agentsoagent?ls -l ./Dual_Loop_PLL/agents ./Dual_Loop_PLL/agents/dual_loop_pll_agentRespuestas:
¿Cuál es la salida de
ls -l ./Dual_Loop_PLL/agents ./Dual_Loop_PLL/agents/dual_loop_pll_agent?Si contestará la pregunta anterior, tendrá la respuesta a su pregunta.
Lea también el manual
renamey la sección del manual de bash sobre las citas: siempre cite sus variables, por ejemplo"$d1".Y no estoy seguro de lo que está haciendo
rename, lo pasa: la evaluación de$d1y$d2, una lista de todos los archivos en el directorio actual y una lista de archivos encontrados porfind.fuente
Personalmente uso
mvpara renombrar archivos y directorios, por lo que usaría:directamente.
fuente