Renomeando arquivos com a hora da última modificação no nome do arquivo

Renomeando arquivos com a hora da última modificação no nome do arquivo

Estou tentando renomear um arquivo com o mvcomando e gostaria de adicionar a data da última modificação deste arquivo (com formato AAAAMMDD) no nome do arquivo e movê-lo para outra pasta. Eu obtive a data atual do sistema assim:

mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"

Usei outras combinações, datemas não entendi. Preciso saber se é possível fazer isso diretamente pela linha de comando ou preciso criar um script.

Responder1

Você pode tentar este comando:

mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt

Responder2

Provavelmente é mais fácil acertar as coisas com um pequeno arquivo de script.

-o-

Acho que você deseja usar a data de modificação em vez da data atual, veja a saída de

ls -l a.txt

ou

ls -l --time-style=long-iso a.txt

Responder3

Obrigado, entendi! Apenas um detalhe. Se você estiver usando o comando de um caminho onde o arquivo original não está, você precisará usar isto:

mv /dir_path/example.txt /new_dir_path/$(data +%Y-%m-%d -r /dir_path/example.txt)example.txt

informação relacionada