前にゼロがない場合のリストのソート

前にゼロがない場合のリストのソート

数字順に並べ替え、最初の文字のコマンドキーに基づいて並べ替えたいです。

CPL_V11.01.00_1
CPL_V11.01.00_10
CPL_V11.01.00_2
CPL_V11.01.00_3
CPL_V11.01.00_35
CPL_V11.01.00_36
CPL_V11.01.00_37
CPL_V11.01.00_38
CPL_V11.01.00_39
CPL_V11.01.00_4
CPL_V11.01.00_40
CPL_V11.01.00_41
CPL_V11.01.00_42
CPL_V11.01.00_43
CPL_V11.01.00_44
CPL_V11.01.00_45
CPL_V11.01.00_46
CPL_V11.01.00_47

ここで何をすべきですか?

答え1

sort -V input

からman sort

   -V, --version-sort
       natural sort of (version) numbers within text

これにより、次のことが可能になります。

CPL_V11.01.00_1
CPL_V11.01.00_2
CPL_V11.01.00_3
CPL_V11.01.00_4
CPL_V11.01.00_10
CPL_V11.01.00_35
CPL_V11.01.00_36
CPL_V11.01.00_37
CPL_V11.01.00_38
CPL_V11.01.00_39
CPL_V11.01.00_40
CPL_V11.01.00_41
CPL_V11.01.00_42
CPL_V11.01.00_43
CPL_V11.01.00_44
CPL_V11.01.00_45
CPL_V11.01.00_46

以下も使用できます。

sort -t _ -k 3 -n input

_数値でソートされた3番目のフィールドを分割して使用)

関連情報