set +o errexit # Modified from https://github.com/sentriz/cliphist/blob/master/contrib/cliphist-wofi-img # set up thumbnail directory thumb_dir="/tmp/cliphist/thumbs" mkdir -p "$thumb_dir" cliphist_list="$(cliphist list)" # delete thumbnails in cache but not in cliphist for thumb in "$thumb_dir"/*; do clip_id="${thumb##*/}" clip_id="${clip_id%.*}" check=$(rg <<< "$cliphist_list" "^$clip_id\s") if [ -z "$check" ]; then >&2 rm -v "$thumb" fi done # create thumbnail if image not processed already read -r -d '' prog <' $thumb_dir/"image ) print "img:$thumb_dir/"image next } 1 EOF output=$(gawk <<< "$cliphist_list" "$prog") # Use a while loop with read to iterate over each line echo "$output" | while IFS= read -r line; do if [[ ! $line =~ ^img:/tmp/cliphist/thumbs ]]; then [[ $line =~ ([0-9]+) ]] line=${BASH_REMATCH[1]} fi echo "$line" done