1 2 3 4 5 6 7 8 9
#!/bin/sh # Sort the sys-protos.h file in its usual order. # Invoke as `sort-protos sys-protos.h'. input=$1 sed 's/\(.*[ \*]\)\([a-zA-Z0-9_][a-zA-Z0-9_]*\)[ ]*\(([^\*].*\)$/\2%\1%\3/' $input | sort -u | awk -F% '{printf "%-30.30s%s%s\n", $2, $1, $3}' > tmp.$input mv -f tmp.$input $input