Ответ 1
Вы можете использовать команду sort
:
sort -k2 -n yourfile
Например:
$ cat ages.txt
Bob 12
Jane 48
Mark 3
Tashi 54
$ sort -k2 -n ages.txt
Mark 3
Bob 12
Jane 48
Tashi 54
У меня есть файл из двух столбцов и n
количество строк.
столбец 1 содержит names
и column2 age
.
Я хочу сортировать содержимое этого файла в порядке возрастания на основе age
(во втором столбце).
В результате должен отображаться name
самого молодого человека вместе с name
, а затем вторым младшим человеком и т.д.
Любые предложения для одной оболочки оболочки или bash script.
Вы можете использовать команду sort
:
sort -k2 -n yourfile
Например:
$ cat ages.txt
Bob 12
Jane 48
Mark 3
Tashi 54
$ sort -k2 -n ages.txt
Mark 3
Bob 12
Jane 48
Tashi 54
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 # - этот аргумент указывает, какой столбец будет использоваться для сортировки.
-n - этот параметр указывает "числовую сортировку", означающую, что столбец должен быть помечен как строка чисел вместо текста.
Другие распространенные опции:
Существуют и другие варианты, но это наиболее распространенные и полезные, которые я часто использую.
Используйте sort
.
sort ... -k 2,2 ...