入力ファイル:
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
____
_______________________________