Unix コマンドを使用したファイルのソート

Unix コマンドを使用したファイルのソート

入力ファイル:

tmp-1064,address3,state,country
tmp-1061,address1,state,country
tmp-1060,address2,state,country
tmp-106,address4,state,country

現在の出力ファイル

tmp-1060,address3,state,country
tmp-1061,address1,state,country
tmp-106,address2,state,country
tmp-1064,address4,state,country

必須出力ファイル

tmp-106,address3,state,country
tmp-1060,address1,state,country
tmp-1061,address2,state,country
tmp-1064,address4,state,country

答え1

sortフィールドをカンマ()で区切り、-t最初の(-k1)フィールドを使用してソートしますが、フィールドの5文字以上を確認するように指示します。数字で並べ替えるには、並べ替えオプションを追加しますn

sort -t, -k1.5n input

GNUソートを使用すると、これらのことが起こっていることがわかります。

$ sort -t, -k1.5n --debug input
sort: using ‘en_US.UTF-8’ sorting rules
sort: key 1 is numeric and spans multiple fields
tmp-106,address4,state,country
    ___
______________________________
tmp-1060,address2,state,country
    ____
_______________________________
tmp-1061,address1,state,country
    ____
_______________________________
tmp-1064,address3,state,country
    ____
_______________________________

関連情報