![](/img/trans.png)
[英]shell script to increment file names when a directory contents changes (centos)
[英]centos Shell script to mv dynamic file names
我具有以下文件结构:
/uploads/<blog_id>/10/155
对于每个blog_id,都有一个名为10
的文件夹,并且在该文件夹内是另一个文件夹155
。 文件夹155
有一堆文件。
我只是想将所有blog_id
的所有文件从/10/155
blog_id
移动到/10
。
基本上,我只想删除155
文件夹,将其内容下移到10
。 我不在乎155
留在那里或被删除。
我尝试了此脚本的多个版本:
for file in /var/www/html/uploads/*/10/155; do mv $file ${file%/*}/10; done
最终,我能够将155文件夹重命名为10,例如: */10/10
。 我将155向下移动了2个级别(接近10
个级别),例如: */155
。
有什么帮助吗?
只需遍历blog_id目录。 然后,对于每个人,您都可以做您需要的事情:
for blog_dir in /uploads/*; do
mv "$blog_dir"/10/155/* "$blog_dir"/10/
rmdir "$blog_dir"/10/155
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.