#!/bin/sh dest_basename=cutbuffer_grab dest_extension=txt destdir=$HOME/$dest_basename chdir_to_destination() { [ -d "$destdir" ] || mkdir -p "$destdir" cd "$destdir" } extract() { sort -z -n -k1,1 -r | head -z -n 1 | xargs -0 printf '%s\n' | cut -d' ' -f2 } set -e chdir_to_destination f=$(find . -maxdepth 1 -type f -name "$dest_basename.*.$dest_extension" -printf "%C@ %h/%f\0" | extract) xcb -s 0 < "$f" xsel --input < "$f" mkdir -p .popped mv "$f" -t .popped