--- title: Nome de arquivo com timestamp simplificado date: 2020-08-12 updated_at: 2020-11-04 layout: post lang: pt ref: simple-filename-timestamp --- Quando vou escrever um post no Jekyll ou criar um arquivo de log com a data no nome, eu normalmente engasgo para achar um jeito direto de fazer isso. Há uma solução simples: `date -I`. ```shell ./meu-programa.sh > meu-programa.$(date -I).log cp template-de-post.md _posts/$(date -I)-slug-do-post.md ``` Usar essa ferramenta padrão do GNU/Linux permite que você simplesmente escreva `touch $(date -I).md` para criar um arquivo `2020-08-12.md`. Eu sempre tinha que parar para reler o `man date` ou buscar na internet de novo e de novo como fazer isso, e depois de sempre chegar no mesmo resultado ficou claro para mim que `date -I` quanto `date -Is` (`s` de segundos) são as respostas que eu estou procurando 95% do tempo: ```shell # dentro do meu-programa.sh echo "Programa começou em $(date -Is)" # saída é: # Programa começou em 2020-08-12T09:15:16-03:00 ``` Ambos os formatos de data são hierárquicos, com intervalos de tempo maior à esquerda. Isso significa que você pode facilmente ordená-los (e até usar TAB para completar) sem esforço ou ferramenta extra.