29 декабря 2008

Aptitude, форматирование вывода

Вывод результатов поиска, команды aptitude с действием search, представляет собой список пакетов содержащий флаги состояния, имена пакетов и их описание. Если вы хотите чтобы полученный список содержал размер найденных пакетов, их текущую версию, в каком архиве они были найдены, то вам надо лишь определить формат, который будет использован для отображения результатов поиска.

Формат представляет собой строку, содержащую подстановочные символы, состоящие из знака '%' и буквы-кода, например такие как %d, %v, %p и другие. При выводе результатов поиска происходит замена подстановочных символов на их значение.

Ширина столбца, определеямого подстановочным символом, может быть фиксированной или переменной. При фиксированной ширине столбца, подстановочный символ заменяется постоянным количеством текста, и при необходимости дополняется пробелами. При переменной ширине, столбец занимает все свободное место на экране, не занятое другими столбцами. Если есть несколько столбцов переменной ширины, то они делят свободное место между собой поровну.

При необходимости ширину столбца можно задать явно. Для этого надо между символом % и буквой-кодом вписать цифру, обозначающую количество символов в столбце. Например формат '%25v', выведет один столбец шириной 25 символов с текущей версией пакета.

Чтобы столбец был переменной длины надо после подстановочного символа вписать символ '#'. Например формат '%d#' выведет один столбец, шириной на весь экран и будет содержать описание пакета.

По умолчанию каждый подстановочный символ имеет определенную ширину столбца, а для некоторых из них определена переменная ширина столбца изначально. Ниже описание наиболее полезных подстановочных символов.

Значение подстановочных символов, ширина столбца
%c-
флаг "текущее состояние", ширина фиксированная, один символ. Описание флагов здесь;

%a-флаг "действие", ширина фиксированная, один символ;

%M-флаг "автоматически установленный", ширина фиксированная, один символ;

%S-флаг "доверенный", ширина фиксированная, один символ, ;

%d-
описание пакета, ширина переменная, по умолчанию 40 символов;

%D-размер файла, содержащего пакет, ширина фиксированная, 6 символов;

%I-размер (приблизительный) установленного пакета на диске, ширина фиксированная, 6 символов;

%p-имя пакета, ширина переменная, по умолчанию 30 символов;

%t-архив, в котором пакет расположен (например hardy, main или universe), ширина переменная, по умолчанию 10 символов;

%v-
текущая версия установленного пакета, если пакет не установлен выводится <нет>, ширина фиксированная, 10 символов;

%V-версия пакета который предполагается установить, если пакет виртуальный выводится <нет>, ширина фиксированная, 10 символов;


Для изменения формата вывода aptitude можно воспользоваться опцией '-F' или '--display-format'. Следом за опцией без пробела в одинарных ковычках следует строка формата. Чтобы каждый раз не описывать формат в командной строке, можно задать его значение в переменной Aptitude::CmdLine::Package-Display-Format в файле ~/.aptitude/config.

Например, для вывода флагов состояния, имен пакетов, описаний пакетов, размеров файлов содержащих пакеты, текущих версий пакетов, чьи имена начинаются со слова free, надо в командной строке выполнить:
aptitude -F'%c%a%M%S %p %d %0D# %v#' search ^free
Использование формата в таком виде неудобно. Чтобы не описывать формат кадый раз при выполнении поиска пропишем его в файле ~/.aptitude/config следующим образом:
Aptitude "";
Aptitude::CmdLine "";
Aptitude::CmdLine::Package-Display-Format "%c%a%M%S %p %d %0D# %v#";
Теперь можно искать пакеты без указания формата при помощи опции '-F'. Полное описание подстановочных символов смотрите здесь.

Также можно почитать:

Отправить комментарий

  © Blogger template Blue Surfing by Ourblogtemplates.com 2008

Наверх