アルファベット順に並べられた配列出力を数値順に変換する方法

アルファベット順に並べられた配列出力を数値順に変換する方法

次の形式のデータを含むテキストファイルがあります。

int array[0]
int array[1001]
int array[1002]
int array[1003]
int array[2]
int array[2001]
int array[2002]
...

つまり、数字は一種の辞書順にリストされているようです。ファイルの内容を次のようにソートしたいと思います。

int array[0]
int array[1]
int array[2]
int array[3]
int array[4]
int array[5]
int array[6]
...

このソート変換をどのように実行しますか?sort仕事を終わらせるのに十分ではないようです。

ベストアンサー1

区切り文字sortに数字を使用できます[

sort -t\[ -nk2,2 <<\IN
int array[0]
int array[1001]
int array[1002]
int array[1003]
int array[2]
int array[2001]
int array[2002]
IN 

出力

int array[0]
int array[2]
int array[1001]
int array[1002]
int array[1003]
int array[2001]
int array[2002]

おすすめ記事