Skip to content

2024

while read

More than once I find myself opening a file with vim, pasting the contents, saving the file, and then going back to bash to do some magic with it. With this line, you simply run the command, paste in the contents that you want, and end with EOF to end the loop. In this case, I paste in a list of URLs, but only want to grab those that contain the string 'https':

Retain X amount of files

I encountered an issue today where someone requested that we keep the 10 newest backup files, while the rest of them (the oldest) were deleted. So I made this little script:

#!/bin/bash

FILE_DIR="/home/jorge/backup/"
NUMBER_OF_FILES="$(ls -t $FILE_DIR | wc -l)"
RETAIN=10

if [ "$NUMBER_OF_FILES" -ge "$RETAIN" ]; then
    cd $FILE_DIR
    ls -t | sed -e "1,$RETAIN d" | xargs rm -f
fi

This can be modified to match with any type of file or filename.

Introduction to tmux

I have been working with Linux for years, and I've always used screen when working in the terminal. I even wrote a small introduction to screen over 10 years ago.

So you can imagine my surprise when I at a very late point found out about tmux. It has completely changed the way I work, and boy do I love it.

Delete files between two dates

To delete all files in a directory, between two dates, use the find command:

find /path/to/dir/ -type f -newermt 2022-01-01 \! -newermt 2023-01-01 -exec rm -fv '{}' +