centos shell脚本以mv动态文件名

时间:2018-01-23 21:23:36

标签: linux centos mv

我有以下文件结构:

/uploads/<blog_id>/10/155

对于每个blog_id,都有一个名为10的文件夹,该文件夹中有另一个文件夹155。文件夹155中包含大量文件。

我只是试图将/10/155的所有文件移至所有/10的{​​{1}}。

基本上,我只想删除blog_id文件夹,将其内容移至155。我不在乎10是否留在那里或被删除。

我已经尝试过这个脚本的几个版本:

155

最终,我能够将155文件夹重命名为10,如:for file in /var/www/html/uploads/*/10/155; do mv $file ${file%/*}/10; done 。我将155向下移动了2级(*/10/10旁边),如:10

任何帮助?

1 个答案:

答案 0 :(得分:1)

只需循环遍历blog_id目录。然后,对于每一个,你可以做你需要的:

for blog_dir in /uploads/*; do
    mv "$blog_dir"/10/155/* "$blog_dir"/10/
    rmdir "$blog_dir"/10/155
done