Я бы хотел отсортировать файл по нескольким полям.Пример файла, разделенного табуляцией:
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
), а когда поле 1 совпадает, отсортировать по полю 3 (с -g
опция).
A не удалось это сделать.Мои попытки были (с реальным символом TAB вместо <TAB>
):
cat tst | sort -t"<TAB>" -k1 -k3n
cat tst | sort -t"<TAB>" -k1d -k3n
cat tst | sort -t"<TAB>" -k3n -k1d
Ничего из этого не работает.Я не уверен, что сортировка вообще способна это сделать.Я напишу скрипт для обхода, поэтому мне просто интересно, есть ли решение, использующее только sort .