Для этой задачи я бы обратился к perl и использованию пользовательской функции сортировки.Сохраните приведенный ниже код perl как basename_sort.pl, измените его на 0755, затем вы можете выполнить команду, запрошенную вами, как:
find | grep "\.php" | ./basename_sort.pl
Конечно, вы захотите переместить эту утилиту куда-нибудьесли вы делаете это очень часто.А еще лучше, я бы порекомендовал обернуть вокруг него функцию в вашем файле .bashrc.(оставаясь в теме, код sh для этого не включен)
#!/usr/bin/perl
use strict;
my @lines = <STDIN>;
@lines = sort basename_sort @lines;
foreach( @lines ) {
print $_;
}
sub basename_sort() {
my @data1 = split('/', $a);
my @data2 = split('/', $b);
my $name1 = $data1[@data1 - 1];
my $name2 = $data2[@data2 - 1];
return lc($name1) cmp lc($name2);
}