Как отсортировать файл с помощью команды сортировки ..

Я хотел бы отсортировать файл на основе 2-го поля, которое разделено "," в качестве разделителя

Пример: filename1, 465, output_file1,

filename2, 300, output_file2,

Ожидаемый результат:

filename1, 300, выходной_файл,

filename1, 465, выходной_файл,

Я пробовал эту команду

sort -t, +1 -2 <file.txt>

Но это не помогло. Пожалуйста, дайте мне знать, если я что-то упустил

спасибо Киран

4 ответа4

1

GNU sort:

sort -t, -k2 -n file.txt
1

Вы должны использовать sort -t, -nk 2 -s file.txt

-n задает его как числовую сортировку, а -k указывает ключ, который будет использоваться для сортировки +1 и т. д., параметры теперь не поддерживаются.

0

Добавление -k 2 для указания поля 2 должно сделать это:

sort -t , -k 2 $file

Не уверен, откуда приходит +1 -2 . Кроме того, это, вероятно, должно быть на https://superuser.com/ .

0

Команда ниже сделает это за вас, красиво и просто :-)

sort -t, -k 2n, 2 t.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .