Существует много инструментов, которые отсортируют текстовый файл при условии, что единица интереса является строкой, но является там какой-либо той работой над блоками?
Пример:
name = Mercury
order = 1
mass = 0.06
name = Venus
order = 2
mass = 0.82
name = Earth
order = 3
mass = 1
Существует ли инструмент, который отсортировал бы список планет дополнительно по имени, массы или порядка от солнца, беря в качестве входа и произведя, как произведено текстовый файл с каждой записью, являющейся блоком как вышеупомянутое?
Для файлов, которые вписываются в память, Вы могли использовать Perl, можно определить входной разделитель записей.
perl -e '$/="\n\n"; print sort <>' t.txt
Если файл является слишком большим для памяти, но у Вас есть равное количество свободного пространства на диске, можно сделать три вида шага:
К виду значением одного из атрибутов я считал бы данные в подходящую структуру данных, такую как массив хешей AoH и определил бы компаратор, как описано в perldoc -f sort
Кроме того, я был бы
Вероятно, было бы лучше сделать целое задание в Perl.
Другие языки программирования доступны.