Como renomear o nome do arquivo com o timestamp da data criada por JavaScript, Perl ou shell no OSX?

2

Você poderia me dizer como obter o timestamp da data de criação do arquivo e renomear o nome do arquivo com JavaScript, Perl ou shell no OSX 10.9.2?

Exemplo:

Existente: timestamp Untitled.txt é 2014/05/03 01:01:01

Novo:% prefixo% _Untitled_20140503_0101.txt (segundos não são necessários)

Motivo:

Estou tendo coisas estranhas que o timestamp é alterado parece pela tecnologia microondas / V2K com freqüência. Mas eu tenho que saber quando é criado. porque estas são evidências do assunto. Por favor, gentilmente ajude.

    
por Juza 03.05.2014 / 07:25

1 resposta

3

Obtenha o horário de criação do arquivo usando o comando stat . A saída será em segundos (desde o unix epoch).

  • A opção -n suprime a nova linha no final da saída.
  • -f permite o uso da formatação "printf". %B é a data de criação ou "nascimento" do arquivo.

    D=$(stat -nf'%B' your_file)
    

Em seguida, use a opção data -r para inserir a data em segundos. O +%Y... aargument especifica o formato da data.

   DF=$(date -r $D '+%Y%m%d_%H%M')

O script bash seria algo assim::

 export PREFIX="your_prefix"
 D=$(stat -nf'%B' your_file)            # seconds since creation time of file
 DF=$(date -r $D '+%Y%m%d_%H%M')             # formatted creation date/time
 mv your_file "${PREFIX}_your_file_${DF}.txt"  # rename the file
    
por 03.05.2014 / 09:59