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



У меня есть файл такой:



FirstName, FamilyName, Address, PhoneNumber


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

497   4  

4 ответов:

Если это 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-позиция символа в поле. ОПЦ-это один или несколько вариантов однобуквенного заказа, которые переопределяют глобальные параметры заказа для этого ключа. Если ключ не задан, используйте в качестве ключа всю строку.

- t, --field-separator=SEP

использовать с сентября, а не-пустое пустым перехода

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

sort -k 2,2 -s orig_file > sorted_file

сортировать-nk2 файл.txt

соответственно вы можете изменить количество столбцов.

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

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

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

Comments

    Ничего не найдено.