Как сортировать и игнорировать пробелы? - PullRequest
0 голосов
/ 12 мая 2019

Я пытаюсь отсортировать файл, но не могу получить желаемые результаты.У меня есть этот файл:

742550111       aaa aaa aaa aaa aaa     2008    3       1       1
5816470687      aa a dissertation for the       933     2       2       2

Каждое поле отделено табуляцией, и я хотел бы отсортировать по второму столбцу.

Когда я пытаюсь sort test.txt -t\t -k 2, выводтак же, как в файле.Но вывод, который я хочу получить:

5816470687      aa a dissertation for the       933     2       2       2
742550111       aaa aaa aaa aaa aaa     2008    3       1       1

Я думаю, это потому, что sort игнорирует пробелы между словами.

Поэтому я попытался с помощью этой команды: LC_ALL=C sort test.txt -t\t -k 2, но все равно не работает.

У вас есть идеи?

1 Ответ

2 голосов
/ 12 мая 2019

Bash заменяет $'\t' реальной вкладкой:

LC_ALL=C sort file -t $'\t' -k 2 

Вывод:

5816470687      aa a dissertation for the       933     2       2       2
742550111       aaa aaa aaa aaa aaa     2008    3       1       1
...