ls en ordre naturel ou lexicographique

Ou comment lister p1, p2....,p10 dans l'ordre naturel.

 
 Sous windows, l'affichage des fichiers se fait dans l'ordre naturel :
 Code:
 photo1.jpg
 photo2.jpg
 ...
 photo10.jpg
 photo11.jpg
 Sous Linux, l'affichage des fichiers se fait dans l'ordre lexicographique :
 Code:
 photo1.jpg
 photo10.jpg
 photo11.jpg
 photo2.jpg
 ...
 La soluce : ls --sort=version

Commentaires

1. Le samedi, mars 26 2005, 02:45 par Pierrick LE GALL

Ou plus simplement

$ ls -1v

Malheureusement, cette astuce n'est pas très portable :-( Certes elle marche bien sous GNU/Linux, mais pas sur des Unix plus anciens comme IBM AIX ou SUN Solaris. Je te propose la solution Perl, plus portable :

$ ls | perl -ne 'END{use Sort::Naturally; print join(" ", nsort(@files)), " ";} chomp; push(@files, $_)'

Il faut avoir le module Sort::Naturally d'installé, mais ça se fait bien :

$ sudo perl -MCPAN -e 'install Sort::Naturally'