ファイルリストを番号でソート
ファイラによくある「番号順ソート」をやってみようと思った。
$ ls ero1.jpg ero11.jpg ero12.jpg ero2.jpg hardcore1.jpg hardcore3.jpg
$ ls|sed -e 's/^\([^0-9]*\).*/\1:&/;h;s/[^0-9]//g;G;s/\n/:/g'|sort -t: -k2,2 -k1,1n|cut -d: -f3- ero1.jpg ero2.jpg ero11.jpg ero12.jpg hardcore1.jpg hardcore3.jpg
ファイル名に改行かコロンが入っているとだめ。
[追記:2007-04-17]
GNU ls なら -v オプションでできることが判明。