タブで区切られた2つの列を含むファイルがあります。
A10 A10_motorway_(Switzerland)
A-10 A-10_N/AW
A10 A10_Networks
A-10 A-10_road
A10 A10_road
A10_road_(California) A10_road_(Canada)
A10_road_(Croatia) A10_road_(disambiguation)
A10_road_(England) A10_road_(Great_Britain)
A10_road_(Isle_of_Man) A10_road_(Isle_of_Man)
A10_road_(Latvia) A10_road_(Malaysia)
A10_road_(United_Kingdom) A10_road_(United_States_of_America)
A10_road_(USA) A10_road_(Zimbabwe)
A-10 A-10_Shrike
A10 A10_(Switzerland)
このファイルを最初の列に基づいてアルファベット順にソートしたいと思います。したがって、同じタイトルが連続して表示される必要があります。
だから私はこれをしました:
sort -t $'\t' -k1 -d filename
ただし、結果は実際には上記のスナップショットです。ご覧のとおり、「A-10」の項目は順序なしで連続的には発生しません。アルファベット順自体はあまり気にしませんが、同じタイトルが連続して出てほしいです。並べ替えでこの操作が許可されない理由と、それを解決する方法を説明できる人はいますか?ありがとうございます!
答え1
試してみてください:
LC_COLLATE=C sort myfile
過去に同様の行動を経験したことがありましたが、同僚のこの提案が役に立ちました。
答え2
-k1,1
私は経験的に「A10
」を合わせるA-10
と、「これはsort
GNU coreutils 8.4からのものです。