Сортировка с помощью инструментов Unix и нескольких столбцов - PullRequest
26 голосов
/ 09 июня 2011

Я ищу самый простой способ решить эту проблему. У меня есть огромный набор данных, который я не могу загрузить в Excel этого типа формата

This is a sentence|10
This is another sentence|5
This is the last sentence|20

Я хочу отсортировать это от наименьшего к наибольшему на основе числа.

cat MyDataSet.txt | tr "|" "\t" | ???

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

Помоги мне, пожалуйста

Ответы [ 5 ]

35 голосов
/ 09 июня 2011
sort -t\| -k +2n dataset.txt

Должен это сделать.разделитель полей и выбор альтернативного ключа

13 голосов
/ 09 июня 2011

Обычно вам не нужен cat для отправки файла в фильтр. Тем не менее, вы можете использовать фильтр sort .

sort -t "|" -k 2 -n MyDataSet.txt

Сортирует файл MyDataSet.txt, используя | символ в качестве разделителя полей и числовая сортировка по второму полю (число).

7 голосов
/ 09 июня 2011

вы пробовали сортировать -n

$ sort -n inputFile
This is another sentence|5
This is a sentence|10
This is the last sentence|20

вы можете переключать столбцы тоже с помощью awk

$ awk -F"|" '{print $2"|"$1}' inputFile
10|This is a sentence
5|This is another sentence
20|This is the last sentence

, комбинируя awk и sort:

$ awk -F"|" '{print $2"|"$1}' inputFile | sort -n
5|This is another sentence
10|This is a sentence
20|This is the last sentence

за комментарии

если в предложении есть цифры

$ sort -n -t"|" -k2 inputFile
This is another sentence|5
This is a sentence|10
This is the last sentence|20
this is a sentence with a number in it 2|22

и, конечно, вы можете перенаправить его в новый файл:

$ awk -F"|" '{print $2"|"$1}' inputFile | sort -n > outFile
3 голосов
/ 09 июня 2011

Попробуйте команду сортировки:

sort -n -t '|' -k2 file.txt
2 голосов
/ 09 июня 2011

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

sort -n -t'|' -k2 dataset.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...