#!/bin/sh for i in "$@"; do if grep -q FLIGHT $i; then num=`head -1 $i | awk '{ for (i = 0; i < NF; i++) if ($i == "FLIGHT") printf ("%03d\n", $(i+1)); }'` else num=`echo "$i" | sed 's/^.*flight-//' | sed 's/\..*$//'` fi newname=`echo "$i" | sed 's/flight-[0-9][0-9][0-9]/flight-'"$num"'/'` echo $num "$i" "$newname" done | sort -rn | sed 's/^[0-9][0-9]*//' | while read old new; do if [ $new = $old ]; then : echo correct: $old else if [ -f $new ]; then if cmp $new $old; then echo "$old is a duplicate of $new" echo rm $old else echo "$old: $new already exists" fi else echo mv $old $new fi fi done