Você pode tentar este comando:
mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt
Estou tentando renomear um arquivo com o comando mv
e gostaria de adicionar a data da última modificação deste arquivo (com o formato YYYYMMDD) no nome do arquivo e movê-lo para outra pasta. Eu tenho a data atual do sistema assim:
mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"
Eu usei outras combinações de date
, mas não entendi. Preciso saber se é possível fazê-lo diretamente pela linha de comando ou preciso criar um script.
Você pode tentar este comando:
mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt
É provavelmente mais fácil corrigir as coisas com um pequeno arquivo de script.
-o -
Eu acho que você quer 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
Obrigado, eu entendi! Apenas um detalhe. Se você está usando o comando de um caminho onde o arquivo original não está, você precisa usar isto:
mv / caminho_do_director / exemplo.txt / caminho_do_arquivo_devido / $ (data +% Y-% m-% d -r / caminho_do_diret/exemplo.txt) exemplo.txt
Tags command-line mv