#!/bin/bash # yday [-a] [-d] [-n DAYS] FILES... - retrieve paths from the dump # -a all versions # -d diff against current file # -n start DAYS back Xecho() { echo "$1" } Xdiff() { diff -u "$1" "$2" } all=false op=Xecho n=0 while getopts adn: opt; do case "$opt" in a) all=true;; d) op=Xdiff;; n) n="$OPTARG";; [?]) exit;; esac done shift $((OPTIND-1)) for file; do ABSOLUTE=$(readlink -f "$file") for d in $(seq $n 1000); do DUMPED=/dump/$(date --date "$d day ago" +%Y/%m%d)$ABSOLUTE if [ -e "$DUMPED" ]; then $op "$DUMPED" "$ABSOLUTE" $all || break fi done done