Re: 求解决ubuntu server 下200万图片的,重命名问题
发表于 : 2012-06-10 21:51
[bash]find . -name '*_-1.PNG' | while read p; do
dir=${p%/*}
fn=${p##*/}
base=${fn%_*}
cd $dir
for ((i=3; i>=0; i--)); do
[ -f ${base}_$i.PNG ] && mv ${base}_$i.PNG ${base}_$((i+1)).PNG
done
cd -
done[/bash]
如果2000多个目录都有相同的深度,例如它们是 /var/www/image/2011/11、/var/www/image/2011/12、/var/www/image/2012/01这样的目录,那么也可以不用 find,直接用通配符
[bash]for f in /var/www/image/*/*/*_-1.PNG; do
...
done[/bash]
dir=${p%/*}
fn=${p##*/}
base=${fn%_*}
cd $dir
for ((i=3; i>=0; i--)); do
[ -f ${base}_$i.PNG ] && mv ${base}_$i.PNG ${base}_$((i+1)).PNG
done
cd -
done[/bash]
如果2000多个目录都有相同的深度,例如它们是 /var/www/image/2011/11、/var/www/image/2011/12、/var/www/image/2012/01这样的目录,那么也可以不用 find,直接用通配符
[bash]for f in /var/www/image/*/*/*_-1.PNG; do
...
done[/bash]