Как отсортировать сигнальные шины с битами в порядке возрастания?

Как отсортировать сигнальные шины с битами в порядке возрастания?

Я пытаюсь отсортировать файл с сигнальными шинами. Я ищу результат, где биты идут в порядке возрастания — 2, за которым следует 3, а не 20.

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сравнивать числовые значения вместо строковых.

Связанный контент