У мене є такий файл:
FirstName, FamilyName, Address, PhoneNumber
Як я можу відсортувати за FamilyName?
У мене є такий файл:
FirstName, FamilyName, Address, PhoneNumber
Як я можу відсортувати за FamilyName?
Відповіді:
Якщо це UNIX:
sort -k 2 file.txt
Ви можете використовувати кілька -kпрапорів для сортування за кількома стовпцями. Наприклад, щоб відсортувати за прізвищем, а потім за прізвищем:
sort -k 2,2 -k 1,1 file.txt
Відповідні варіанти від "сортування за людиною":
-k, --key = POS1 [, POS2]
запустити ключ на POS1, закінчити на POS2 (початок 1)
POS - це F [.C] [OPTS], де F - номер поля, а C - позиція символу в полі. OPTS - це один або кілька варіантів замовлення на одну букву, які замінюють загальні варіанти замовлення для цього ключа. Якщо ключ не вказаний, використовуйте весь рядок як ключ.
-t, --field-separator = SEP
використовуйте SEP замість непустого до порожнього переходу
--field-separator=','якщо у вас є оператор введення даних, який вводить значення для "Ім'я", наприклад "Біллі Боб", або що завгодно ... пробіли можуть легко потрапити у ваші дані, якщо ви не захищаєтесь від цього, але коми відносно малоймовірні.
-bопцію. Це тому sort, що насправді враховуючи, що рядок для сортування починається відразу після коми, а не з першої літери стовпця. Крім того, вам може знадобитися префікс команди LC_ALL=C, щоб уникнути будь-яких побічних ефектів через локаль, які можуть трапитися навіть у простому файлі ASCII.
-b( --ignore-leading-blanks). Щоб трохи уточнити: echo -e 'aa<SPACE>a\na<SPACE><SPACE>b' | sort -k2дає a<SPACE><SPACE>bперший (другий стовпець починається після першого non-blank to blank transition, і <SPACE><SPACE>bце раніше <SPACE>a), але разом з -bним дає, aa<SPACE>aяк очікувалося ( aє раніше b).
FWIW, ось метод сортування, який показує, які процеси використовують найбільше віртуальної пам'яті.
memstat | sort -k 1 -t':' -g -r | less
Параметри сортування встановлюються в перший стовпець, використовуючи: як розділювач стовпців, числове сортування та сортування в зворотному порядку.
sort -nk2 file.txt
Відповідно ви можете змінити номер стовпця.