#!/bin/sh JOURNAL="$HOME/documents/journal.txt" EDITOR="vim" add(){ TMPFILE="$(mktemp)" TIME="$(date "+%Y-%m-%d %H:%M")" $EDITOR "$TMPFILE" test -s "$TMPFILE" || exit printf "%s %s\\n\\n" "$TIME" "$(sed '/^\s*$/d' "$TMPFILE")" >> "$JOURNAL" rm "$TMPFILE" } list(){ awk -v pattern="$1" \ '$0 ~ pattern {print $1 " " $2 "\n" substr($0, index($0,$3)) "\n"}' \ RS= "$JOURNAL" | grep --color -P "$1|" } main(){ case "$1" in l|ls|list) shift; list "$@";; a|ad|add) add;; e|ed|edit) $EDITOR "$JOURNAL";; *) add;; esac } main "$@"