Tente o seguinte ...
unset i; for f in *.pnm; do mv "$f" "img$((++i)).pnm";done
Prefácio: Eu sou um novato absoluto com Linux, por favor não julgue estritamente.
Eu tenho um diretório contendo várias imagens (mais de 100) de uma extensão .pnm. Desejo renomeá-los de tal forma, que seus nomes sejam "img1.pnm", "img2.pnm", "img3.pnm", etc. Então eles devem ter uma parte comum em seus nomes - "img" e diferentes indicies a partir de "1".
Como posso fazer isso?
Tente o seguinte ...
unset i; for f in *.pnm; do mv "$f" "img$((++i)).pnm";done
tente
ls *.pnm | awk -F. '{printf "mv %s img%d.pnm\n",$0,NR;}' | bash
onde
ls *.pnm |
faz uma lista do arquivo pnm awk -F. '{printf "mv %s img%d.pnm\n",$0,NR;}'
launch awk
'{printf "mv %s img%d.pnm\n",$0,NR;}'
instrução de impressão para mover e numerar arquivo. | bash
instrução é dar para bash. você pode até visualizar com
ls *.pnm | awk -F. '{printf "mv %s img%d.pnm\n",$0,NR;}'