Next: General output formatting, Previous: Sorting the output, Up: ls invocation
バージョンの並べ替えは,ファイル名が索引やバージョン番号を含むことが多 いという事実を考慮にいれています.標準的な並べ替え機能は,一文字づつを 基本に比較するため,通常,人々が期待する順序を生成しません.バージョン の並べ替えは,この問題を提出し,その名前に索引/バージョン番号を伴うファ イルを多く含むディレクトリを眺めるとき特に役に立ちます.
> ls -1 > ls -1v foo.zml-1.gz foo.zml-1.gz foo.zml-100.gz foo.zml-2.gz foo.zml-12.gz foo.zml-6.gz foo.zml-13.gz foo.zml-12.gz foo.zml-2.gz foo.zml-13.gz foo.zml-25.gz foo.zml-25.gz foo.zml-6.gz foo.zml-100.gz
数字の部分にゼロが前置されていても,分数として考慮されることに注意して 下さい.
> ls -1 > ls -1v abc-1.007.tgz abc-1.007.tgz abc-1.012b.tgz abc-1.01a.tgz abc-1.01a.tgz abc-1.012b.tgz
この機能は,strverscmp
関数を使用して実装しています.
See String/Array Comparison.実装を決定した結果,ls -v
はロカールカテゴリの
LC_COLLATEを使用しなくなりました.結果として,数字以外の接頭辞は,
LC_COLLATEがC
に設定されているかのように並べ替えられます.