como mover arquivos de uma pasta para outra com acréscimo de data e hora ao nome? [duplicado]

1

Eu quero mover os arquivos de uma pasta para outra com o acréscimo de data e hora nos nomes dos arquivos.

Por exemplo, eu tenho dois arquivos chamados file1 e file2 na pasta f1 .

Eu quero mover esses arquivos para a pasta f2 como nomes de arquivos file1_22_jan_11:42 e file2_22_jan_11:42 .

    
por kumar 06.12.2012 / 19:02

2 respostas

1

Se o carimbo de data e hora for o horário de modificação do arquivo, com o GNU find e xargs, você poderá fazer:

find f1 -maxdepth 1 -mindepth 1 -printf '%p
find f1 -maxdepth 1 -mindepth 1 -printf '%p%pre%f2/%f_%Td_%Tb_%TH:%TM%pre%' |
  xargs -r0n2 echo mv
f2/%f_%Td_%Tb_%TH:%TM%pre%' | xargs -r0n2 echo mv

e remova echo quando estiver feliz.

    
por 06.12.2012 / 19:19
0

Para copiar somefile para otherplace/somefile_ com a data de modificação anexada (por exemplo, 2012_12_06):

cp somefile otherplace/somefile_'stat --printf=%y somefile | sed -e 's/ .*//''

Provavelmente mais fácil se você colocar isso em um script:

#!/bin/bash

suffix=_'stat --printf=%y $1 | sed -e 's/ .*//''
cp $1 $2/$1_$suffix

Nomeie como 'mycp' e você pode ir:

mycp somefile otherplace

Para as informações de estatísticas, consulte man stat .

    
por 06.12.2012 / 19:47

Tags