title: Simple filename timestamp
date: 2020-08-12
updated_at:
layout: post
lang: en
ref: simple-filename-timestamp
eu_categories: shell
When writing Jekyll posts or creating log files with dates on them, I usually
struggle with finding a direct way of accomplishing that. There's a simple
solution: date -I
.
./my-program.sh > my-program.$(date -I).log
cp post-template.md _posts/$(date -I)-post-slug.md
Using this built-in GNU/Linux tool allows you to touch $(date -I).md
to readily
create a 2020-08-12.md
file.
I always had to read man date
or search the web over and over, and after doing
this repeatedly it became clear that both date -I
and date -Is
(s
here
stands for seconds) are the thing that I'm looking for 95% of the time:
# inside my-program.sh
echo "Program started at $(date -Is)"
# output is:
# Program started at 2020-08-12T09:04:58-03:00
Both date formats are hierarchical, having the bigger time intervals to the left. This means that you can easily sort them (and even tab-complete them) with no extra effort or tool required.