我在/ home / servers2中有一堆目录(比如几千个),在server2的每个目录中都有一个名为plugins Ex的目录。 /家庭/ servers2 / MyServer的/插件
现在每个人都有一个名为AutoStopFinal.jar的文件,我需要将其删除,然后通过/ home / servers / template / plugins将AutoStop1.3.001复制到plugins目录。 我想非破坏性地测试它,所以我尝试了这个:
echo " Script to copy a plugin to all server plugin directories"
for i in /home/servers2/*/plugins; do
echo rm -f $i/AutoStopFinal.jar
echo cp -f /home/servers/template/plugins/AutoStop1.3.001.jar "$i"
done
echo " completed script ..."
但只有Script才能将插件复制到所有服务器插件目录。大约5分钟后我控制了C'd。但是我没有从循环中得到回声,有什么建议吗?
答案 0 :(得分:3)
您可以使用find为您执行此操作:
cd /home/servers2
find . -type d -name plugins -exec cp -f /home/servers/template/plugins/AutoStop1.3.001.jar {} \; -exec rm -f {}/AutoStopFinal.jar \;
答案 1 :(得分:1)
此命令将删除文件:
find ./servers2 -name AutoStopFinal.jar |xargs -n1 rm
此命令将新文件复制到位:
find ./servers2 -name plugins |xargs -n1 cp ./servers/template/plugins/AutoStop1.3.001.jar