--- /dev/null
+#!/bin/sh
+for i in "$@"; do
+ num=`grep '^F' "$i" | awk '{printf ("%03d\n", strtonum("0x" $4))}'`
+ case "$num" in
+ "")
+ echo "$i: no flight number found" 1>&2
+ ;;
+ *)
+ newname=`echo "$i" | sed 's/flight-[0-9][0-9][0-9]/flight-'"$num"'/'`
+ echo $num "$i" "$newname"
+ ;;
+ esac
+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
+ echo mv $old $new
+ fi
+ fi
+done
\ No newline at end of file