#!/bin/bash die() { echo "$@" exit 1 } i=100 rm -rf album mkdir album find /var/www/{Priv,}Pix/albums > allfiles for file in *.jpg do file=`echo $file | sed 's/.*!//'` foundfile=$(set -o pipefail; grep "BestOf/.*$file" allfiles | head -1 ) || die "Couldn't find $file" cp -v "$foundfile" album/$i"_$file" i=$(($i + 1)) done