Ordenar arquivos resultantes de scripts

Ao gerar arquivos em massa às vezes é importante ter controle sobre os nomes gerados para que eles sejam ordenados corretamente. Este é o caso, por exemplo, quando queremos gerar animações ou um pdf com uma imagem por página.

Vejamos um exemplo: tenho um arquivo em pdf que gostaria de transformar em png para realizar operações nele e depois reconverter para PDF.

Para converter de PDF para vários png, usamos o comando convert:

convert arquivo.pdf imagem%03d.png

Ao usar a expressão %03d no nome do arquivo, indico que quero que o nome tenha um numeral com 3 dígitos naquela posição. Assim, o primeiro arquivo gerado será imagem001.png, o segundo será imagem002.png e assim sucessivamente.

Se ao invés disso você simplesmente deixasse que o linux numerasse automaticamente, teria o seguinte resultado: imagem.png, imagem-0.png, imagem-1.png. Com isto quando chegássemos à imagem-11.png a ordenação dos arquivos seria prejudicada. Isto porque, considerando a ordem alfabética (já que se trata de um texto, não de um número), 11 vem antes de 2.

Ao usar o formato 001 002 003 você garante que não terá problemas até a milésima imagem.

Uma resposta para “Ordenar arquivos resultantes de scripts”.

  1. […] o problema é frequente, talvez o ideal seja mesmo um script. Se você mesmo gera os arquivos,dê uma olhada nesse link. Se isso não funcionar, segue um script em python pra resolver o problema. Está provavelmente […]

Deixe um comentário