#!/bin/sh for i in "$@"; do num=`grep '^F' "$i" | awk '{printf ("%03d\n", strtonum("0x" $4))}'` 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 : else if [ -f $new ]; then if cmp $new $old; then echo "$old is a duplicate of $new" rm $old else echo "$old: $new already exists" fi else mv $old $new fi fi done