Renomeia um arquivo (extensão) no Mac sem alterar a data de criação?

2

Eu tenho vários arquivos .JPG e quero que eles sejam arquivos .jpg, mas cada script de renomeação sugerido usa "mv" e a página de manual (no Mountain Lion) para mv diz que faz uma cópia e exclui o que explica porque execute o script as datas "created / modified / etc" são todas alteradas para a data atual. Eu não quero que isso aconteça. O que posso fazer?

    
por Sheldon McGee 16.09.2012 / 22:49

2 respostas

2

Então, eu quero mexer com isso. Eu até encontrei um bom arquivo antigo, modificado em 2006.

$ stat -f "%m%t%Sm %N" *
1347657595  Sep 14 23:19:55 2012 1.JPG
1347715529  Sep 15 15:25:29 2012 2.JPG
1156277764  Aug 22 22:16:04 2006 3.JPG
1347657554  Sep 14 23:19:14 2012 4.JPG
1347657554  Sep 14 23:19:14 2012 5.JPG
1347741772  Sep 15 22:42:52 2012 6.JPG

Crie um novo diretório para eles

$ mkdir renamed

Corra através deles com um loop

$ for i in *.JPG ; do cp -p $i renamed/'echo $i|sed 's/JPG$/jpg/g'' ; rm $i ; done

Agora, eles estão no newdir e foram removidos do diretório atual. Mas nós os queremos de volta - não posso usar mv embora.

$ for i in renamed/* ; do cp -p $i . ; rm $i ; done
$ rm -rf renamed/

Tadaa

$ stat -f "%m%t%Sm %N" *
1347657595  Sep 14 23:19:55 2012 1.jpg
1347715529  Sep 15 15:25:29 2012 2.jpg
1156277764  Aug 22 22:16:04 2006 3.jpg
1347657554  Sep 14 23:19:14 2012 4.jpg
1347657554  Sep 14 23:19:14 2012 5.jpg
1347741772  Sep 15 22:42:52 2012 6.jpg
    
por 19.09.2012 / 22:50
1

Use touch -r para definir o registro de data e hora de um arquivo para outro.

cp oldfile newfile
touch -r oldfile newfile

Esse touch diz "Definir o registro de data e hora de newfile para o registro de data e hora de oldfile ".

Aqui está uma postagem no blog com mais sobre touch e como usá-lo .

Toda essa cópia + toque não deve ser necessária, no entanto. Você diz que o manual diz que "mv diz que faz uma cópia e apaga", mas isso não é exato. Eu estou pensando que você pode ter interpretado mal. Você deve poder usar mv para renomear um arquivo. Você pode estar com um problema porque no HFS +, o sistema de arquivos do Mac, nomes de arquivos não fazem distinção entre maiúsculas e minúsculas, então "foo.jpg" é o mesmo que "FOO.JPG".

    
por 20.09.2012 / 00:21