Renomeie arquivos para o inode

3

Estou tentando renomear arquivos em um diretório com base no número do inode. Esse parece ser o número único que manterá os arquivos (fotos) na ordem em que foram tirados. Eu quero fazer isso como um diretório completo vs arquivos individuais.

ls -i me dá o número de inode para todos os arquivos, mas eu preciso enviar dados para renomear ou mv para todos os arquivos.

Saída atual: ls -li

46923838 -rw-r--r-- 1 me me 6937237 Jan 24 15:26 DSC_1167.JPG

46923839 -rw-r--r-- 1 me me 6692804 Jan 24 15:26 DSC_1168.JPG

46923840 -rw-r--r-- 1 me me 6735745 Jan 24 15:26 DSC_1169.JPG

46923841 -rw-r--r-- 1 me me 7709324 Jan 24 15:26 DSC_1170.JPG

46923842 -rw-r--r-- 1 me me 7645673 Jan 24 15:26 DSC_1171.JPG

Resultados desejados:

46923838 -rw-r--r-- 1 me me 6937237 Jan 24 15:26 46923838.JPG

46923839 -rw-r--r-- 1 me me 6692804 Jan 24 15:26 46923839.JPG

46923840 -rw-r--r-- 1 me me 6735745 Jan 24 15:26 46923840.JPG

46923841 -rw-r--r-- 1 me me 7709324 Jan 24 15:26 46923841.JPG

46923842 -rw-r--r-- 1 me me 7645673 Jan 24 15:26 46923842.JPG

Atualização: eu preciso pegar o "exif: DateTimeOriginal:" e enviá-lo como o novo nome do arquivo.

área de trabalho 2016-10-22 # identify -verbose DSC_1140.JPG | grep exif: DateTimeOriginal:     exif: DateTimeOriginal: 2016: 10: 22 16:29:33

área de trabalho 2016-10-22 # identify -verbose DSC_1140.JPG | grep filename: nome do arquivo: DSC_1140.JPG

    
por kentuckian6 26.01.2017 / 05:58

1 resposta

2

Além do (s) hardlink (s), o inode de um arquivo é garantido como único, dentro do mesmo sistema de arquivos. Iterando os arquivos .JPG no diretório atual e renomeando ( mv -ing) com ajuda de stat para obter o inode:

for i in *.JPG; do echo mv -- "$i" "$(stat -c '%i' "$i")"; done

echo irá cuspir o comando mv que seria executado. Remova echo da ação real:

for i in *.JPG; do mv -- "$i" "$(stat -c '%i' "$i")"; done

Além disso, se você quiser que os nomes de arquivos finais também tenham a extensão .JPG :

for i in *.JPG; do mv -- "$i" "$(stat -c '%i' "$i").JPG"; done
    
por 26.01.2017 / 06:05