Решение:
sort -k 2 -n filename
более подробно написано как:
sort --key 2 --numeric-sort filename
Пример:
$ cat filename
A 12
B 48
C 3
$ sort --key 2 --numeric-sort filename
C 3
A 12
B 48
Объяснение:
-k # - этот аргумент указывает первый столбец, который будет использоваться для сортировки. (обратите внимание, что столбец здесь определен как поле с пробелами; аргумент -k5
будет сортироваться, начиная с пятого поля в каждой строке, а не с пятого символа в каждой строке)
-n - эта опция указывает «числовую сортировку», означающую, что столбец должен интерпретироваться как строка чисел, а не текст.
Больше:
Другие распространенные варианты включают в себя:
- -r - эта опция меняет порядок сортировки. Он также может быть записан как --reverse .
- -i - эта опция игнорирует непечатаемые символы. Он также может быть записан как --ignore-nonprinting .
- -b - эта опция игнорирует начальные пробелы, что удобно, так как пробелы используются для определения количества строк. Он также может быть записан как --ignore-lead-blank .
- -f - эта опция игнорирует регистр букв «А» == «а». Он также может быть записан как --ignore-case .
- -t [новый разделитель] - эта опция заставляет предварительную обработку использовать оператор, отличный от пробела. Он также может быть записан как --field-separator .
Есть и другие варианты, но это самые распространенные и полезные, которые я часто использую.