同じレベルの他のファイルやディレクトリと区別したい場合は、アンダースコアプレフィックスを使用してファイルとディレクトリに名前を付けることができます。たとえば、Windows と Mac でファイルの前にアンダースコアを付けると、ファイルは英数字で始まるファイルよりも上にソートされます。
私のインターネット検索はLC_COLLATEと現在のロケール(en_US)に関連していることがわかりました。大丈夫です。 en_USが期待どおりにソートされていない理由を本当に理解していなくても。
に基づいてICUコレートデモシーンロケールをen_US_POSIXに設定すると、間違いなく私が探しているソート順序があるようです。テストするには、サンプルデータを編集して下線を追加する必要があります。しかし、Linuxシェルに適用する方法がわかりません。
理想的には、lsが常に下線を最初にソートするようにbash設定で何かを設定できることを願っています。どうすればいいですか?
ベストアンサー1
小文字と大文字を混在させたくない場合は、ロケールをに設定してください。これにより、C
数字順に文字が許可されます。_
大文字と小文字の間。
$ LC_COLLATE=C ls
BAR FOO _score _under hello world
$ LC_COLLATE=en_US ls
BAR FOO hello _score _under world
地域設定LC_MESSAGES
(エラーメッセージ言語)、LC_CTYPE
(文字セット)、LC_TIME
(日付と時刻の形式)が便利です。しばしば値よりも多くの問題が発生するため、設定をお勧めしませんLC_COLLATE
。LC_NUMERIC
適切な辞書の順序付けはLC_COLLATE
予想よりも複雑であり、正規表現で文字範囲を使用すると、あらゆる種類の奇妙な動作を引き起こす可能性があります。LC_NUMERIC
いくつかのプログラムは.
。