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";
}