
Я пытаюсь отсортировать файл с сигнальными шинами. Я ищу результат, где биты идут в порядке возрастания — 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
сравнивать числовые значения вместо строковых.