Hi fellow monks,

I wrote a small script which sorts text files after the last column (i.e. lines are separated by a given separator).
I use it mainly to sort a list of file paths by file names ignoring directories names by calling it with '/' as separator:

csort / list.txt

It could be improved by adding some sorting order options, etc.

#!/usr/bin/perl # Usage: csort <separator> (<inputfiles> | < input) > output use strict; use warnings; my $sep = shift or die; # separator to use my @list; while (<>) { chomp; push @list, [ /\A (.*) $sep (.*)/x ]; } foreach my $aref ( sort { $a->[1] cmp $b->[1] or $a->[0] cmp $b->[0] } + @list ) { print join ($sep, @$aref), "\n"; }

Replies are listed 'Best First'.
Re: Column sort script
by artist (Parson) on Nov 15, 2008 at 02:09 UTC
    You can also user more elegant solution using File::Basename
    --Artist