Enviado em 01/09/2017 - 10:31h
Boas pessoal,
Preciso de renomear uma série de arquivos em um directório. Devem ser renomeados respeitando o seu tipo de arquivo e recebendo uma determinada tag com respectiva numeração.
Vamos imaginar que tenho estes arquivos:
Pretendo que os mesmos assumam este novos nomes:
Reparem que a extensão do ficheiro foi mantida e o nome do ficheiro foi alterado para uma tag com respectiva numeração.
Neste momento tenho este script:
Acontece que o comando ls !(*.sh) estoira na leitura do mesmo no for e a extensão do arquivo não é respeitada. Ele assume, para todos os arquivos, a última extensão lida!
Alguma sugestão de como resolver o assunto?
Obrigado
Preciso de renomear uma série de arquivos em um directório. Devem ser renomeados respeitando o seu tipo de arquivo e recebendo uma determinada tag com respectiva numeração.
Vamos imaginar que tenho estes arquivos:
adfbkbsdfdsf.jpg
asdadadfdfdf.png
asdasdafdfd.pdf
asdasdadsfdsfd.jpg
asdasdsfdsfsdf.exe
Pretendo que os mesmos assumam este novos nomes:
file_1.jpg
file_2.png
file_3.pdf
file_4.jpg
file_5.exe
Reparem que a extensão do ficheiro foi mantida e o nome do ficheiro foi alterado para uma tag com respectiva numeração.
Neste momento tenho este script:
name_image="file_"
array=($(ls !(*.sh) ))
for (( i=0; i<${#array[@]}; i++ ));
do
echo ${array[$i]}
echo $name_image$i.${array#*.}
done
Acontece que o comando ls !(*.sh) estoira na leitura do mesmo no for e a extensão do arquivo não é respeitada. Ele assume, para todos os arquivos, a última extensão lida!
Alguma sugestão de como resolver o assunto?
Obrigado