On Thu, 2 Dec 2010, gregwm wrote: > how do you tell sort to ignore the first x characters of each line and > start the key at character x+1? I don't think it can do that. It want's a delimiter and keys. If you can think of a character that doesn't occur in the file, you might insert it after x characters, use it as a delimiter, sort by the second field and then remove the character from the output. Well, that's what I'd do. I can tell you how if you can tell me a character to use. I'd use tab if the file contains no tabs. Something like this (for x = 9) will often work: perl -pe 's/^(.{9})/$1\t/' infile | sort -t'\t' -k2,2 | perl -pe 's/^(.{9})\t/$1/' Wait, here's a better idea: Move the first x characters from the beginning of the line to the end, sort, then move them back to the beginning: perl -pe 's/^(.{9})(.*)$/$2\t$1/' infile | sort | perl -pe 's/^(.*)\t(.{9})$/$2$1/' You don't really need that tab in there but it somehow makes me feel better. These methods require that every line has at least x characters (x=9 in my example code). Mike