Ajuda para renomear a pasta de acordo com a data

1

Eu tenho a pasta "Backup yzT jan-01-2013". Eu também fiz um script para fazer um backup todos os dias.

O problema que estou enfrentando é como renomear a pasta dia a dia, de acordo com a data? Obter o novo nome é fácil, é só

"/home/yzT/Backup yzT 'date '+%b-%d-%Y''"

No entanto, como posso selecionar a pasta "Backup yzT Jan-01-2013" exatamente? Porque todo dia será diferente.

Eu tentei

mv "/home/yzT/Backup yzT *" "/home/yzT/Backup yzT 'date '+%b-%d-%Y''

esperando que o caminho mv funcione como uma expressão regular, mas infelizmente isso não acontece.

Então, como posso renomear a pasta?

    
por yzT 01.01.2013 / 15:01

1 resposta

2

Seu comando mv não está funcionando porque você está citando o * , portanto a globulação de nomes de arquivo não está funcionando.

Você poderia tentar algo como:

mv "/home/yzT/Backup yzT "* "/home/yzT/Backup yzT 'date '+%b-%d-%Y''

(Observe que * foi movido para fora das aspas. E isso não é uma correspondência de expressão regular, é globbing .)

Isso corresponderá a todos os nomes de arquivos que começam com Backup yzT nesse diretório, portanto, não funciona para o seu esquema com um possível diretório Backup yzT weekly .

Dito isso, você está realmente dificultando as coisas com esses nomes de diretório. Se você escolheu um esquema como:

yzT.daily.timestamp yzT.weekly.timestamp etc...

você não precisa se preocupar com os espaços que dificultam a gravação correta de todos os seus scripts. Este esquema também permite globalizar facilmente backups diários, independentemente dos semanais, ou backups para dois usuários de forma independente.

Por fim, usar um formato de data como YYYYMMDD.HHMMSS é mais simples de lidar em scripts que timestamps localizados - eles classificam ok por padrão, por exemplo, e são fáceis de analisar (não é necessário se preocupar com linguagem, mapeamento de nomes de mês , etc.).

    
por 01.01.2013 / 15:30