-
Em sistemas com GNU coreutils (portanto, não é uma instalação padrão do OSX), você pode usar
mv -f --backup=numbered -t /path/to/target photos/*/*/*/*/
Isso moverá todos os subdiretórios na profundidade 4 em
photos/
, quaisquer que sejam os nomes dos diretórios nas profundidades 1, 2 e 3.A vantagem desse método: a renomeação ocorrerá somente conforme necessário (se você tiver apenas uma subpasta
12578
, por exemplo, emphotos/1/9/0/
, ela não será renomeada). -
Sem o GNU coreutils, você pode usar este script (um pouco complicado), que renomeará todas as subpastas. Por exemplo.
photos/1/9/0/12578
será renomeado12578-190
:target=/some/path for i in {0..9}; do for j in {0..9}; do for k in {0..9}; do for dir in "photos/$i/$j/$k/*/"; do mv -- "$dir" "$target/$(basename $dir)-$i$j$k" done done done done