Я хотел бы отсортировать файл на других полях. Вкладка образец отделенный файла:unix sorting, с первичными и вторичными ключами
a 1 1.0
b 2 0.1
c 3 0.3
a 4 0.001
c 5 0.5
a 6 0.01
b 7 0.01
a 8 0.35
b 9 2.3
c 10 0.1
c 11 1.0
b 12 3.1
a 13 2.1
И я хотел бы, чтобы он сортируется в алфавитном порядке по полю 1 (с -d
), и когда field1 то же самое, сортировать по полю 3 (с опцией -g
).
A не удалось это сделать. Мои attemps были (с реальным символом табуляции вместо <TAB>
):
cat tst | sort -t"<TAB>" -k1 -k3n
cat tst | sort -t"<TAB>" -k1d -k3n
cat tst | sort -t"<TAB>" -k3n -k1d
Ни один из них не работает. Я не уверен, что сортировка даже способна сделать это. Я напишу сценарий для обхода, так что мне просто интересно, есть ли решение, использующее только sort.
Параметр ' sort', похоже, не поддерживает это. Рассмотрим переход на язык, например, Python или Perl. – Philipp
Да, конечно, это будет мой обходной путь, как я уже упоминал. Я просто хотел знать, можно ли это сделать с чистой сортировкой – zseder