На днях наткнулся на интересную задачу, отсортировать содержимое файла, в котором первой строкой идут заголовки столбцов и был неприятно удивлен, отсутствием в sort такой опции. По моему, не логично =). Не исключаю факт, что есть более другая утилита sort, о которой мне не известно, или совсем другая программа которая может сортировать вывод по столбцам, в которой предусмотрено наличие заголовков.
Пока я остановился на комбинации sort и awk:
#cat file.txt | awk 'NR==1 ; NR > 1 {print $0 | "sort -k 2"}'
Считывается файл и перенаправляется в awk.
Первой командой NR==1 выводится первая строка файла, а дальше, для все строк больше 1, идет печать на стандартный вывод и перенапряляется в sort.
Конструкция получилас достаточно длинной, но можно затолкать в крипт и параметрами в него передавать ключи для sort. Получится его аналог, с сортирующий файл с первой строкой заголовка, или ещё парамтерами указывать, сколько строк считать заголовком.
Надо искать стандартную утилиту =(. Не нравится мне самодеятельность, не верю, что эта функция не включена ни в одну базовую утилиту.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий