for num in {0..45}; do
mv "something-${num}.jpg" "th${num}-something.jpg"
done
Se o número for variável, você pode fazer algo como:
for num in $( seq 1 ${last-10} ); do
mv "something-${num}.jpg" "th${num}-something.jpg"
done
Se last
não estiver definido, o padrão de 10 será usado. Isso significa que você pode rolá-lo em um script:
last="${1-10}" # $1 is the first parameter given; use a default
# of 10 if not provided a value
for num in $( seq 1 $last ); do
mv "something-${num}.jpg" "th${num}-something.jpg"
done