title: Nome de arquivo com timestamp simplificado
date: 2020-08-12
updated_at: 2020-11-04
layout: post
lang: pt
ref: simple-filename-timestamp
eu_categories: shell
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
.
./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:
# 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.