这是命令 grep-aptavail,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
grep-dctrl, grep-status, grep-available, grep-aptavail, grep-debtags - grep Debian 控制
档
概要
命令 --复制|-C | - 帮帮我|-h | - 版|-V
命令 [选项] 过滤 [ 文件...]
哪里 命令 是其中一个 grep dctrl, grep 状态, grep 可用, grep aptavail 和
grep-债务标签.
商品描述
grep dctrl 程序可以回答这样的问题 什么是 is 此 Debian 包 富?, 哪
版本 of 此 Debian 包 酒吧 is 现在 当前的?, 哪 Debian 包 不 John 母鹿
维持?, 哪 Debian 包 ,那恭喜你, 不知何故 有关 至 此 方案 编程 语言?,
在一些帮助下, 谁是 保持 此 必要 包 of a Debian 系统?,给定一个
有用的输入文件。
节目单 grep 可用, grep 状态, grep aptavail 和 grep-债务标签 是别名
(实际上,符号链接) grep dctrl. 这些别名用作它们的默认输入
的dpkg(1) 可使用 和 状态 文件, apt缓存 倾销 输出和 债务人
倾销 输出,分别。
grep dctrl 是一个专门的 grep的 用于处理任何文件的程序
Debian 软件包的一般格式 控制 文件,如 Debian 政策中所述。
这些包括 的dpkg 可使用 文件, 的dpkg 状态 文件,以及 文件在一个
分发介质(例如 Debian CD-ROM 或承载 Debian 的 FTP 站点)。
你必须给一个 过滤 命令行中的表达式。 这 过滤 定义了哪种
段落(又名包记录)是输出。 一个简单的 过滤 是一个搜索模式
带有任何修改它的选项。 可能的修饰符是 --erregex, - 场地, --忽略大小写,
--正则表达式 和 - 完全符合,以及它们的单字母等价物。 默认情况下,
搜索是每个段落上区分大小写的固定子字符串匹配(换句话说,
包记录)在输入中。 使用合适的修饰符,这可以改变:搜索
可以不区分大小写,并且可以将模式视为扩展的 POSIX 正则
表达。
筛选器s 可以组合形成更复杂的 过滤s 使用连接词 - 和, ——或 和
- 不是. 括号(通常需要为 shell 转义)可用于
分组。
默认情况下,完整匹配的段落打印在标准输出上; 具体的
可以选择字段进行输出 -s 选项。
之后 过滤 表达式为零或更多 文件 名称。 这 文件 姓名 - 被带到
表示标准输入流。 这 文件s 按顺序但分开搜索; 他们是
不能 串联在一起。 换句话说,一个结束 文件 总是暗示结束
当前段落。
如果不 文件 指定名称后,程序名称用于标识默认输入文件。
程序名称与当前程序名称的基本形式相匹配(
0'th 命令行参数,如果你愿意的话)。
配置
指定 此 搜索、 模式
--模式=模式
指定一个 模式 被搜索。 通常不需要此开关,因为
模式 可以自己给。 然而, 模式以破折号开头的 s (-) 必须
使用这个开关给出,这样它们就不会被误认为是开关。
修饰符 of 简单 过滤器
-F 部分,部分, ... | --字段=部分,部分...
将模式匹配限制为 部分给。 多种的 部分 名字合二为一 -F
选项和多个 -F 一个简单的选项 过滤 被允许。 搜索名为
由过滤器将在所有 部分s 的名字,并且只要有人
其中匹配,整个简单 过滤 被认为是匹配的。
A 部分 规范可以包含一个冒号 (:)。 在这种情况下,直到
冒号作为要搜索的字段名,后面的部分
冒号作为字段的名称,如果该字段的内容要
搜索是空的。
-P 的简写 -F包.
-S 的简写 -F 来源:包.
-e, --erregex
将当前简单过滤器的模式视为扩展的 POSIX 正则
表达
-r, --正则表达式
将当前简单过滤器的模式视为标准的 POSIX 正则
表达。
-i, --忽略大小写
在当前简单过滤器中查找匹配项时忽略大小写。
-X, - 完全符合
在当前的简单过滤器中进行精确匹配(而不是子字符串匹配)。
-w, --整个包装
对整个包名称进行扩展正则表达式匹配,假设语法
包间关系字段,例如 取决于,推荐, ... 当这
给出了标志,您也不应该担心子包名称,例如“libpcre3”
匹配“libpcre3-dev”。 此标志暗示(并且不兼容) -e.
--eq 在 Debian 版本号系统下做一个相等比较。 如果图案
或者要搜索的字段不是有效的 Debian 版本号,段落
视为不匹配。 作为一种特殊情况,这能够比较
用于相等的简单非负整数。
--lt 在 Debian 版本号系统下进行严格小于比较。 如果
模式或要搜索的字段不是有效的 Debian 版本号,
段落被视为不匹配。 作为一种特殊情况,这能够
比较简单的非负整数。
--乐 在 Debian 版本号系统下进行小于或等于比较。 如果
模式或要搜索的字段不是有效的 Debian 版本号,
段落被视为不匹配。 作为一种特殊情况,这能够
比较简单的非负整数。
--gt 在 Debian 版本号系统下进行严格大于比较。 如果
要搜索的模式或字段不是有效的 Debian 版本号,
该段落被视为不匹配。 作为一种特殊情况,这能够
比较简单的非负整数。
--ge 在 Debian 版本号系统下做一个大于或等于的比较。 如果
要搜索的模式或字段不是有效的 Debian 版本号,
该段落被视为不匹配。 作为一种特殊情况,这能够
比较简单的非负整数。
结合 过滤器
-!, - 不是, !
如果以下过滤器匹配,则匹配 不能 匹配。
-o, ——或
如果前面和后面的过滤器中的一个或两个匹配,则匹配。
-a, - 和
如果前面和后面的过滤器都匹配,则匹配。
( ... )
括号可用于分组。 请注意,大多数情况下它们都需要转义
贝壳。 过滤修饰符可以在左括号前给出; 他们会
将它们视为对括号内的每个简单过滤器重复了它们。
输出 格式 修饰符
-l, --带匹配的文件
仅输出包含以下文件的文件名,每个文件名各占一行
至少一个匹配的段落。 这不符合 -v 和 -L 选项和
所有其他输出格式修饰符将被忽略。
-L, --没有匹配的文件
只输出那些文件名,每个文件名都在自己的一行
包含任何匹配的段落。 这不符合 -v 和 -l 期权,
并且所有其他输出格式修饰符将被忽略。
-s 部分,部分, ... | --显示字段=部分,部分...
仅显示这些主体 部分s 来自匹配的段落。 这 部分 名称
不得包含任何冒号或逗号。 逗号用于分隔 部分 名字在
此选项的参数。 这 部分s 按此处给出的顺序显示。 看
也是选项 -I. 请注意,在没有 --确保--dctrl 选项,如果
只选择一个字段,不输出段落分隔符。
-I, --反转展示
反转选项的含义 -s: 只显示具有 不能 被命名
使用 -s 选项。 作为实现的人工制品,字段的顺序
在原始段落中没有保留。
A 部分 规范可以包含一个冒号。 在这种情况下,到冒号的部分是
取为要显示的字段名,冒号后的部分为
如果要显示的字段为空,则要使用其内容的字段的名称。
-d 只显示第一行 产品描述 匹配段落中的字段。 如果
没有 -s 选项被指定,这个选项也影响 -s 产品描述; 如果有
-s 选项,但不包括 产品描述 字段名称,一个附加到
选项。 就这样 产品描述 字段在输出中的位置由
此 -s 选项(如果有),最后一个字段是默认值。
-n, --无字段名称
显示指定字段时不显示字段名称,仅显示其主体。
每个字段都以其原始形式打印,没有字段名称,后面是冒号
它和正文开头之前的任何空格。
-v, --反转匹配
不要显示所有匹配的段落,而是显示那些匹配的段落 不能
匹配。
-c, - 数数
而不是显示匹配的段落(或,与 -v, 不匹配), 显示
这些段落的数量。
-q, - 安静的, - 沉默的
不向标准输出流输出任何内容。 相反,在之后立即退出
找到第一个匹配项。
其他
--确保-dctrl
确保输出为 dctrl 格式,特别是始终有一个
分隔段落的空行。 如果 -n 选项有
已被选中,因为该选项故意为
输出。 在未来的版本中,此选项可能会成为默认行为。
--兼容
覆盖任何 --确保-dctrl 前面在命令行中给出的选项。
--忽略解析错误
忽略解析输入中的错误。 无法解析的段落被忽略
它的全部内容,假设下一段在第一个换行符之后开始
由于错误的位置。
--调试-optparse
显示当前命令行是如何被解析的。
--错误级别=水平
将日志级别设置为 水平. 水平 是其中一个 致命, 重要, 信息性的 和 调试,
但最后一个可能不可用,这取决于编译时选项。 这些
这里按顺序给出类别; 当发出的每条消息 致命 在
效果,将在 重要 错误级别等。 默认是
重要.
-V, - 版
打印版本信息。
-C, --复制
打印版权许可。 这会产生很多输出; 一定要重定向或
通过管道将其传送到某个地方(例如您最喜欢的寻呼机)。
-h, - 帮帮我
打印帮助摘要。
示例
这个程序最简单的用途是打印出状态或可用记录
一袋。 在这方面, grep dctrl 就像 的dpkg -s or 的dpkg --打印可用. 打印
取出包“mixal”的状态记录,做
% grep 状态 -PX 混合
并获取其可用记录,请使用
% grep-available -PX 混合
事实上,您可以从任何 Debian 控制文件中请求“mixal”包的记录。
假设您有 Debian 6.0 CD-ROM 当前目录下的文件; 现在你可以
做一个
% grep-dctrl -PX 混合包
但是, grep dctrl 可以做的不仅仅是模仿 的dpkg. 它可以或多或少地模仿 apt缓存!
该程序具有搜索包描述的搜索功能。 但我们可以做到
太:
% grep-available -F 说明 foo
在所有可用的描述中区分大小写地搜索字符串“foo”
包。 如果您想要不区分大小写,请使用
% grep-available -F 说明 -i foo
实话实说, apt缓存 也搜索包名。 我们可以分别在
姓名; 这样做,这样做
% grep-available -F 包 foo
or
% grep 可用 -P foo
这几乎是一回事。 我们还可以在描述和名称中进行搜索;
如果在任一中找到匹配,则打印包裹记录:
% grep-available -P -F 说明 foo
or
% grep-available -F 包 -F 说明 foo
这种搜索与 apt缓存 一样。
这是一件事,两者都不是 的dpkg 也不 apt缓存 做。 在整个字符串中搜索 状态
or 可使用 文件(或任何 Debian 控制文件,就此而言)并打印出所有包
记录我们匹配的地方。 尝试
% grep 可用的 dpkg
有时间看看如何彻底 的dpkg 已经渗透到 Debian。
以上所有查询都基于简单的子字符串搜索。 但 grep dctrl 可以处理
搜索模式中的正则表达式。 比如查看所有的状态记录
名称中带有“apt”或“dpkg”的软件包,请使用
% grep-status -P -e 'apt|dpkg'
既然我们已经看到了所有这些精美的查询,您可能会开始怀疑是否
有必要总是看到整个段落。 例如,您可能只感兴趣
在所涉及的包的依赖信息中。 美好的。 显示依赖行
在我维护的所有包中,做一个
% grep-available -F 维护者 -s 取决于 '[电子邮件保护]'
如果您还想查看包的名称,请使用
% grep-available -F 维护者 -s 包,取决于 \
'[电子邮件保护]'
请注意,参数中不能有空格 -s 开关。
更复杂的查询也是可能的。 例如,查看软件包列表
由我维护并依赖于 libc6,做
% grep-available -F 维护者 '[电子邮件保护]' \
-a -F 取决于 libc6 -s 包,取决于
请记住,您也可以使用其他 UNIX 过滤器来帮助您。 有没有想过,谁是
最活跃的 Debian 开发者基于被维护的源包数量?
简单。 你只需要一份最新的 来源 来自任何 Debian 的文件
镜。
% grep-dctrl -n -s 维护者 '' 来源 | 排序 | \
uniq -c | 排序 -nr
这个例子展示了一个巧妙的技巧:如果你想有选择地只显示 所有
包,只需提供一个空模式。
术语“bogopackage”表示 Debian 开发人员维护的软件包数量。
获取维护者的 bogopackage 计数 控制工具说
% grep-可用-c -FMaintainer \
“`grep-available -sMaintainer -n -PX dctrl-tools`”
有时在同一行上输出多个字段的数据很有用。 为了
例如,以下命令输出已安装包的列表,按其排序
安装尺寸.
% grep-status -FStatus -sInstalled-Size,包 -n \
“安装确定安装” -a -FInstalled-Size --gt 0 \
| 粘贴 -sd " \n" | 排序 -n
请注意,“\n”字符串中应该正好有 2 个空格。
另一个常见的用例是寻找具有另一个作为构建依赖项的包:
% grep-dctrl -s 包 -F Build-Depends,Build-Depends-Indep \
被子 /var/lib/apt/列表/*来源
这些示例涵盖了此实用程序的许多典型用途,但并非所有可能的用途。
动用你的想象力! 积木在那里,如果缺少什么,让我
知道了。
诊断
在没有错误的情况下,退出代码 0 如果找到至少一个匹配项,则使用,并且
退出代码 1 如果未找到匹配项,则使用。 如果有错误,退出代码是 2,
除了一个例外。 如果 -q, - 安静的 or - 沉默的 使用选项,退出代码 0 is
在找到匹配时使用,无论是否存在非致命错误。
这些消息以日志级别发出 致命 和 重要. 附加信息可能是
由系统库提供。 本篇 名单 is 不完整。
A 模式 is 强制性
您必须指定要搜索的模式。
畸形的 过滤
没有指定过滤器,但需要一个。
不能 发现 更多 记忆
需要的内存多于可用内存。 这个错误可能是暂时的,也就是说,
如果你再试一次,一切可能会顺利。
不能 压制 部分 名称 ,尤其是 显示 全 段落
当您不使用 -s 开关, grep dctrl 只是通过匹配的段落
通过,不以任何方式接触它们。 这意味着,例如,您只能使用
-n 当你使用 -s.
不符 修饰符 of 简单 过滤器
使用了简单过滤器的冲突修饰符; 例如,也许两者 -X 和
-e 为相同的简单过滤器指定。
失踪 ')' in 命令 线
在给定的过滤器中,左括号多于右括号。
没有 这样 日志 水平
的论点 --错误级别 无效。
也有 许多 文件 名称
命令行中指定的文件名数量超过了编译时间
限制。
也有 许多 产量 领域
的论点 -s 里面有太多的字段名称。 此数量限制为 256。
意外 ')' in 命令 线
没有与某些右括号匹配的左括号
命令行。
使用 onworks.net 服务在线使用 grep-aptavail