Renomeie as imagens para que elas sejam gravadas em CD, a fim

2

Eu tenho várias imagens nomeadas:

1.jpg
2.jpg
317.jpg
317 (2)a.jpg
etc.

No meu navegador de arquivos (Nautilus), eles são exibidos na ordem numérica correta. No entanto, no Brasero quando eu os encomendo, ele os ordena estranhamente (corretamente, mas não do jeito que eu quero). Eles pedem assim:

1
10
100
101
2
20
200
201
201a
3
3a
30
300
301
.
.
.

Eu quero renomeá-los para que eles sejam exibidos na ordem alfa-numérica correta, então acabo com isso:

1
2
3
3 (2)
3 (2)a
4
5
.
.
.
50
50 (2)
.
.
.
317 (2)a
.
.
.

Perguntas:

  1. Alguém pode recomendar uma convenção de nomenclatura para renomear todos esses arquivos para que eles fiquem na ordem correta (por exemplo, as câmeras usam IMG_xxxx.JPG, o que é legal)?

  2. Alguém pode me dar um comando de renomeação de linha de comando do Linux para esses arquivos para que eles sejam renomeados para serem exibidos e, portanto, que sejam gravados na ordem correta?

Eles são arquivos JPEG padrão, portanto, ordená-los pela data nos dados EXIF pode funcionar. Eu só preciso dos comandos corretos, ou GUI - não me importo - para colocá-los em ordem.

Renomeá-los por data provavelmente funcionaria bem o suficiente?

    
por Bojangles 07.05.2011 / 13:49

3 respostas

4

Para reordenar por data, veja aqui ("Renomear a JPG apenas por timestamp "). Tenho que via Google "renomear jpeg exif linux".

    
por 07.05.2011 / 13:57
3

Cabe ao aplicativo verificar a lista de arquivos para decidir como classificá-los. Aparentemente Nautilus usa "ordem natural" para arquivos numéricos, enquanto suas outras ferramentas estão usando algoritmos padrão de ordenação de computadores que classificam em "ordem de dicionário" ("a" é menor que "aardvark" então "a" vem primeiro "b" vem depois de " aardvark "porque" b "é maior que" a "." 1 "é menor que" 100 ", então" 1 "vem em primeiro lugar." 2 "vem depois de" 100 "porque" 2 "é maior que" 1 "). / p>

É inteiramente possível que o que quer que você coloque este CD irá ignorar tudo o que você tenta fazer para forçar os arquivos a classificar de uma forma ou de outra. Eu tenho um mp3 player que classifica todas as músicas na ordem em que foram adicionadas ao dispositivo, não importa o quê. Se o programa que lê o CD ordenar por nome de arquivo (na minha experiência, a maioria dos programas fazem o dicionário classificar por nome de arquivo), você pode forçar a ordenação natural e do dicionário para classificar os arquivos da mesma maneira preenchendo os nomes de arquivos com zeros suficientes para fazer as partes numéricas dos nomes de arquivos da mesma forma:

00001.jpg
00002.jpg
00100.jpg
00100 (01).jpg
00100 (01a).jpg
00100 (13).jpg

Em seguida, tanto a ordenação natural quanto a ordenação do dicionário chegarão ao mesmo resultado. Automatizar esse processo será difícil. Se você remover todos os parênteses e espaços e letras dos nomes de arquivos, o script a seguir preencheria tudo com 5 dígitos (para mais ou menos zeros, altere o 5 em printf %05d $n :

#!/bin/bash
set -e
for x in *; do
  e=${x##*.}
  n=${x%.*}
  nn='printf %05d $n'
  mv "$x" "$nn.$e"
done

Isso causará erro se os nomes dos arquivos tiverem algo diferente de dígitos. Não consigo pensar em nada além de renomear um de cada vez, ou fazer algo como rename s/^/0000/ ?.jpg rename s/^/000/ ??.jpg rename s/^/00/ ???.jpg e assim por diante, e isso ainda não funcionará bem com o material extra no final de seus nomes de arquivos .

Se você quiser automatizar a conversão, provavelmente acabará renomeando-os completamente para outra coisa (como os carimbos de data e hora sugeridos pelo outro pôster, desde que o registro de data e hora seja escrito em ordem decrescente eles serão classificados corretamente na ordem do dicionário, mas se houver dois arquivos com o mesmo timestamp, você poderá perder um se você (ou seu programa de processamento exif) não tiver cuidado.

    
por 07.05.2011 / 15:51
0

O Adobe Bridge é muito útil neste caso, existem algumas boas ferramentas para renomear um grupo de arquivos com muitas opções, Você pode tentar encontrá-lo para Linux.

    
por 07.05.2011 / 14:22