跟随我的自己的律师我user-tags
在处理项目时开始使用,但现在我不记得如何调用其中一些标签,这取消了它们的用处。有办法找回这些名字吗?
答案1
如果您安装了软件包aptitude
并附加了该--add-user-tag <tag>
选项,您可以通过运行以下命令列出软件包的用户标签:
aptitude show <package_name>
输出的最后一行应显示用户标签。
您可以使用以下命令在所有已安装的软件包中搜索
aptitude show '~i' | grep "User Tags"
答案2
使用以下命令,您不需要管道或 grep:
aptitude search '?user-tag()' -F '%p %T'
这会查找所有具有用户标签的包,并使用-F
to设置%p %T
包名称和用户标签的输出格式。
您可以向搜索查询添加任何内容以进一步限制结果,例如仅列出带有用户标签的已安装软件包:
aptitude search '~i?user-tag()' -F '%p %T'
答案3
以下命令行将返回一个用户标签每行:
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/
替换逗号+空格分隔多个用户标签带有换行符p
打印结果模式空间
sed 的输出(用户标签对于每个包,每行一个)然后通过管道传输以sort -u
消除同一标签的多次提及。