ソートされた色付きの出力 ls|sort 、最後の行 xyz-0.0.1-1554323568.rpm を見ることができます 無色出力の最初の行です。他の行は均等にソートされます。
色付きのエスケープ コード (ソートされていない) を見ると、最初の行が別のエスケープ コード ^[[0m で始まっていることがわかります。 .これにより、ソート時に間違った順序が発生しています (^[[01 ^[[0m より前 ).
$ /bin/ls --color xyz* | cat -A
^[[0m^[[01;31mxyz-0.0.1-1554323568.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554490900.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554745305.rpm^[[0m$
^[[01;31mxyz-0.0.1-1554751021.rpm^[[0m$
^[[01;31mxyz-0.0.1-1555513460.rpm^[[0m$
^[[01;31mxyz-0.0.1-1555951745.rpm^[[0m$
すること:
/bin/ls --color > file1
/bin/ls > file2
コンテンツを比較すると、違いがわかります。
エイリアシング ls /bin/ls --color=auto まで ls を停止します。 端末に直接書き込まないとき (次のプログラムにパイプするときやファイルに書き込むときなど) にカラー コードを使用しないようにします。