Debianを使用して数値順(論理)昇順ですが、アルファベット順にソートする方法

Debianを使用して数値順(論理)昇順ですが、アルファベット順にソートする方法

次のように解析されたバージョンタグのリストがあるとします。

0.2
0.1
0.10
0.9

私が使用するとsort私は得ます(正しいですか、これを対照の順序と呼びますか?)

0.1
0.10
0.2
0.9

私が期待する数字(論理的)順序が欲しい場合

0.1
0.2
0.9
0.10

たとえば、これはパッケージのバージョンを解析すると同時に、自動化されたインストールプロセスのために最新バージョンを入手したいときに頻繁に遭遇するシナリオです。

この目標をどのように達成できますか?

ベストアンサー1

GNUソートには、バージョン番号ソートにのみ使用される-V/オプションがあります。--version-sort目的の出力を正確に生成し、複数の部分からなるバージョン番号も処理します0.10.123

この特定のデータセットの場合は、sort -t. -k1,1n -k2,2nフィールド区切り文字sortとして使用し、最初と.2番目のフィールドに基づいて数値で並べ替えることもできます。 (-k1n最初のフィールドで始まる行の残りの部分が使用されるため、結果は異なります。)

おすすめ記事