ls -v で数字順序に並びます。
ls -v
このオプションかなり便利。
ls コマンドは辞書順
lsの結果は辞書に並べちゃうので困ることがあります。 たとえば、次のような場合
takuya@rena:~/Desktop/test/sample02$ touch アルバム-{1..20}.mp3 takuya@rena:~/Desktop/test/sample02$ ls -l total 0 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-1.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-10.mp3 #⇐ 残念 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-11.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-12.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-13.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-14.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-15.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-16.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-17.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-18.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-19.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-2.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-20.mp3 #⇐ 残念 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-3.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-4.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-5.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-6.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-7.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-8.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-9.mp3
いままでの対処法
001 とか、0001 とか、ゼロを頭につけて対応するのが、暗黙の了解みたいになってました。
でも、WindowsのExplorer が数字順序で並べちゃうので、一般ユーザーからZIPファイル貰ったときに並んでなくて困るんですね。ウインドウズのエクスプローラは賢くていいんだけど他環境の人が困るんですよね。アップロードファイルとかさ。
頭に0をつけて揃える例
takuya@rena:~/Desktop/test/sample01$ touch アルバム-{01..20}.mp3 # ファイル作成 takuya@rena:~/Desktop/test/sample01$ ls -l total 0 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-01.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-02.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-03.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-04.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-05.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-06.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-07.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-08.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-09.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-10.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-11.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-12.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-13.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-14.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-15.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-16.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-17.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-18.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-19.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-20.mp3
ls -v で全部解決。
いままで、並ばなかったものが並ぶようになって感動。
takuya@rena:~/Desktop/test/sample02$ ls -vl total 0 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-1.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-2.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-3.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-4.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-5.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-6.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-7.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-8.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-9.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-10.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-11.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-12.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-13.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-14.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-15.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-16.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-17.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-18.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-19.mp3 -rw-r--r-- 1 takuya staff 0 5 11 09:44 アルバム-20.mp3
-v オプションはバージョンで揃えるためにあります。
実は -v オプションは バージョン番号で揃えるために使われるようです。
takuya@rena:~/Desktop/test/sample03$ ls -l -v1 total 0 -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.1.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.2.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.3.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.4.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.5.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.6.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.7.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.8.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.9.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.10.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.11.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.12.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.13.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.14.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.15.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.16.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.17.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.18.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.19.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.20.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.21.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.22.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.23.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.24.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.25.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.26.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.27.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.28.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.29.tar.gz -rw-r--r-- 1 takuya staff 0 5 11 10:28 archive-1.30.tar.gz
やたらバックアップばかり取ったとしても安心ですね。
参考資料
https://www.softel.co.jp/blogs/tech/archives/4219
2017-01-17 追記
sort -n
するほうが普通というコメント
私もそう思います。これはls のオプション-v
を紹介するエントリなので書いてないだけです。
sort -n
と ls -v
だと上記の例のように、枝番がある時の動作が異なります。また ls のオプションと組み合わせることも出来るし、GNU/BSDで用途が異なります。
ls コマンドで結果を数字順序にならべる。 - それマグで!b.hatena.ne.jpパイプで sort -n とかの方が普通じゃない?
2017/01/15 19:07