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

Сортировка с помощью инструментов unix и нескольких столбцов

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

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

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

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

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

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

4b9b3361

Ответ 1

sort -t\| -k +2n dataset.txt

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

Ответ 2

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

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

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

Ответ 3

Вы попробовали sort -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 и сортировка:

$ 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

Ответ 4

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

sort -n -t '|' -k2 file.txt

Ответ 5

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

sort -n -t'|' -k2 dataset.txt