From 960e4410f76801356ebd42801c914b2910a302a7 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Mon, 18 Nov 2024 08:21:58 -0300 Subject: v0 migration to mkwb --- .../tils/2020/08/12/filename-timestamp.adoc | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/content/tils/2020/08/12/filename-timestamp.adoc (limited to 'src/content/tils/2020/08/12') diff --git a/src/content/tils/2020/08/12/filename-timestamp.adoc b/src/content/tils/2020/08/12/filename-timestamp.adoc new file mode 100644 index 0000000..7495fc9 --- /dev/null +++ b/src/content/tils/2020/08/12/filename-timestamp.adoc @@ -0,0 +1,44 @@ +--- + +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`. + +```shell +./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: + +```shell +# 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. -- cgit v1.2.3