My TODO List
05/2026
Instead of using a notebook (or three crumpled receipts), I’ve moved to a TODO setup that lives in my shell config file.
- Paste the following block in your shell config file:
# TODO SCRIPT. use as move_todo line_number
move_todo() {
local linenum=$1
local date_today=$(date +"%d/%m")
local time_now=$(date +"%H%M")
# Add date header if not already present
if ! grep -q "^$date_today" done; then
echo "$date_today" >> done
fi
# Move line with timestamp and checkbox
sed -n "${linenum}p" todo \
| sed "s/^\[\]/[X] ${time_now}:/" >> done
# Delete the original line from todo
sed -i '' "${linenum}d" todo
}
-
Make a
todofile and adonefile. -
Add an item to your
todolist. Some examples:
[] post TODO script
[] drink coffee
- To move an item to the
donelist:
move_todo 1
- The
donefile is now updated:
[X] 0756: post TODO script
- Make sure to change into the directory where your
doneandtodofiles live before usingmove_todo.