信号バスをビットで昇順に並べ替えるにはどうすればよいでしょうか?

信号バスをビットで昇順に並べ替えるにはどうすればよいでしょうか?

信号バスを含むファイルをソートしようとしています。ビットが昇順 (20 ではなく 2 の次に 3 が続く) になっている結果を探しています。

cat file1 |sort

file1
cls_16_snap[2]
cls_16_snap[20]
cls_16_snap[21]
cls_16_snap[22]
cls_16_snap[23]
cls_16_snap[24]
cls_16_snap[25]
cls_16_snap[26]
cls_16_snap[27]
cls_16_snap[28]
cls_16_snap[29]
cls_16_snap[3]
cls_16_snap[30]

結果

-------
cls_16_snap[2]
cls_16_snap[20]
cls_16_snap[21]
cls_16_snap[22]
cls_16_snap[23]
cls_16_snap[24]
cls_16_snap[25]
cls_16_snap[26]
cls_16_snap[27]
cls_16_snap[28]
cls_16_snap[29]
cls_16_snap[3]
cls_16_snap[30]

答え1

これを試して:

$ sort -t'[' -nk2 file1
cls_16_snap[2]
cls_16_snap[3]
cls_16_snap[20]
cls_16_snap[21]
cls_16_snap[22]
cls_16_snap[23]
cls_16_snap[24]
cls_16_snap[25]
cls_16_snap[26]
cls_16_snap[27]
cls_16_snap[28]
cls_16_snap[29]
cls_16_snap[30]

-nオプションはsort文字列ではなく数値を比較するように指示します。

関連情報