Как перечислить все пользовательские теги aptitude или теги пользователя для пакета?

Я немного рассол. Следуя моему собственному совету, я начал использовать user-tags при работе над проектами, но теперь я не помню, как я назвал некоторые из этих тегов, и это отменяет их полезность. Есть ли способ вернуть эти имена?

3 Solutions collect form web for “Как перечислить все пользовательские теги aptitude или теги пользователя для пакета?”

С помощью следующей команды вам не нужны трубы или grep:

 aptitude search '?user-tag()' -F '%p %T' 

Это находит все пакеты с пользовательским тегом и устанавливает выходной формат с -F до %p %T для имени пакета и пользовательского тега.

Вы можете добавить что-либо к поисковому запросу для дальнейшего ограничения результатов, например, для отображения только установленных пакетов с пользовательскими тегами:

 aptitude search '~i?user-tag()' -F '%p %T' 

Если вы установили пакеты с aptitude и --add-user-tag <tag> параметр --add-user-tag <tag> вы можете перечислить теги пользователя для пакета, запустив:

 aptitude show <package_name> 

и последняя строка вывода должна отображать пользовательские теги.

Вы можете использовать следующее для поиска во всех установленных пакетах

 aptitude show '~i' | grep "User Tags" 

Следующая команда возвращает один пользовательский тег в строке:

 aptitude show '~T' | sed -n '/^User Tags: /{s/^User Tags: //;s/, /\n/g;p}' | sort -u 

Это будет передавать информацию обо всех пакетах в базе данных пакетов ( ~T ) в sed, что будет:

  • -n не печатать пространство паттерна (линию) автоматически после каждого командного цикла; вместе с /User Tags/ и p основном имитирует grep
  • /^User Tags: / только команда группы ( {} ) в строках, соответствующих этому регулярному выражению
  • s/^User Tags: // замените «Метки пользователя:» в начале строки с пустой строкой
  • s/, /\n/ substitude commata + пробел, разделяющий несколько пользовательских тегов символом новой строки
  • p напечатайте пространство для ресублирования

sed ( пользовательские теги для каждого пакета, по одному на строку) затем передается по каналам для sort -u для отсечения нескольких упоминаний одного и того же тега.

Interesting Posts
Linux и Unix - лучшая ОС в мире.