Подтвердить что ты не робот

Файл сортировки оболочки Linux в соответствии со вторым столбцом?

У меня есть файл вроде этого:

FirstName, FamilyName, Address, PhoneNumber

Как я могу отсортировать его по фамилии?

4b9b3361

Ответ 1

Если это UNIX:

sort -k 2 file.txt

Вы можете использовать несколько флагов -k для сортировки более чем одного столбца. Например, для сортировки по фамилии, а затем сначала в качестве ограничителя связей:

sort -k 2,2 -k 1,1 file.txt

Соответствующие опции из "man sort":

-k, --key = POS1 [, POS2]

запустите ключ в POS1, положите его на POS2 (начало 1)

POS - F [.C] [OPTS], где F - номер поля, а C - позиция символа в поле. OPTS - это один или несколько вариантов однобуквенного заказа, которые переопределяют глобальные параметры заказа для этого ключа. Если ключ не указан, используйте всю строку в качестве ключа.

-t, --field-separator = SEP

используйте SEP вместо непустого пустого перехода

Ответ 2

Чтобы сортировать только по второму полю (при совпадении вторых полей эти строки с совпадением остаются в том порядке, в котором они находятся в оригинале без сортировки по другим полям):

sort -k 2,2 -s orig_file > sorted_file

Ответ 3

sort -nk2 file.txt

Соответственно вы можете изменить номер столбца.

Ответ 4

FWIW, вот способ сортировки, показывающий, какие процессы используют наиболее виртуальную память.

memstat | sort -k 1 -t':' -g -r | less

Параметры сортировки устанавливаются в первый столбец, используя: как разделитель столбцов, числовую сортировку и сортировку в обратном порядке.