英语法语西班牙文

OnWorks 网站图标

ackp - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 ackp

这是 ackp 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


ack - 类似 grep 的文本查找器

概要


ack [选项] 模式 [文件...]
ack -f [选项] [目录...]

商品描述


Ack 被设计为替代 grep的 对于程序员。

Ack 搜索命名的输入文件(或标准输入,如果没有命名文件,或者文件
name - 给出)用于包含与给定 PATTERN 匹配的行。 默认情况下,确认
打印匹配的行。

PATTERN 是一个 Perl 正则表达式。 Perl 正则表达式常见于
其他编程语言,但有关其行为的详细信息,请咨询
<http://perldoc.perl.org/perlreref.html|perlreref>。 如果您不知道如何使用常规
表达但有兴趣学习,可以咨询
<http://perldoc.perl.org/perlretut.html|perlretut>。 如果您不需要或不想使用 ack
正则表达式,请参见“-Q”/“--literal”选项。

Ack 还可以列出将要搜索的文件,而无需实际搜索它们,让
您可以利用 ack 的文件类型过滤功能。

文件 选择


如果没有指定文件进行搜索,无论是在命令行上还是通过管道输入
“-x”选项, ACK 深入到子目录中选择文件进行搜索。

ACK 对它搜索的文件很聪明。 它知道某些文件类型,基于
文件的扩展名,在某些情况下,文件的内容。 这些
可以使用 - 类型 选项。

没有文件选择, ACK 搜索未明确显示的常规文件
排除在 --忽略目录--忽略文件 选项,要么出现在 确认 文件或
命令行。

的默认选项 ACK 忽略某些文件和目录。 这些包括:

· 备份文件:文件匹配 #*# 或以 ~.

· Coredumps:文件匹配 核心。\d+

· 版本控制目录如 .svn.git.

运行 ACK 使用“--dump”选项查看设置了哪些设置。

然而, ACK 总是搜索命令行上给出的文件,无论是什么类型。 如果
你告诉 ACK 要在核心转储中搜索,它将在核心转储中搜索。

目录 选择


ACK 向下遍历指定的起始目录的目录树。 如果不
指定目录,则使用当前工作目录。 但是,它会忽略
许多版本控制系统使用的影子目录,以及构建目录
由 Perl MakeMaker 系统使用。 您可以使用以下命令在此列表中添加或删除目录
--[否]忽略目录 选项。 该选项可以重复添加/删除多个目录
从忽略列表中。

要获得未搜索到的目录的完整列表,请运行“ack --dump”。

WHEN TO 用途 GREP


ACK 王牌 grep的 在 99% 的情况下作为日常工具,但不要扔 grep的 离开,因为
有时您仍然需要它。

例如,搜索巨大的文件,寻找可以用 grep的
语法应该更快 grep的.

如果您的脚本或父程序使用 grep的 “--quiet”或“--silent”或需要在 IO 上退出 2
错误,使用 grep的.

配置


--ackrc
指定要在所有其他文件之后加载的 ackrc 文件; 请参阅“ACKRC 位置语义”。

-A , --在上下文之后=
打印 匹配行后的尾随上下文行。

-B , --之前上下文=
打印 匹配行之前的前导上下文行。

- [没有休息
在来自不同文件的结果之间打印中断。 使用时默认开启
交互地。

-C [], --上下文[=]
打印 匹配行周围的上下文的行(默认 2)。

-c, - 数数
抑制正常输出; 而是打印每个输入文件的匹配行数。
If -l 实际上,它只会显示每个有行的文件的行数
匹配。 没有 -l,某些行数可能为零。

如果结合 -h (--无文件名) ack 只输出一个总数。

--[无]颜色, --[无]颜色
- 颜色 突出显示匹配的文本。 --无色 抑制颜色。 这是由
默认除非输出被重定向。

在 Windows 上,此选项默认关闭,除非 Win32::Console::ANSI 模块是
安装或使用“ACK_PAGER_COLOR”环境变量。

--颜色文件名=颜色
设置用于文件名的颜色。

--颜色匹配=颜色
设置用于匹配的颜色。

--颜色线号=颜色
设置用于行号的颜色。

--[无]列
显示第一个匹配项的列号。 这对可以放置的编辑器很有帮助
您的光标在给定位置。

--创建ackrc
将默认 ack 选项转储到标准输出。 这在你想要的时候很有用
自定义默认值。

- 倾倒
将加载的选项列表及其来源写入标准输出。 便利
用于调试。

--[没有]环境
--noenv 禁用所有环境处理。 不 .ackrc文件 已阅读和所有环境
变量被忽略。 默认情况下, ACK 考虑 .ackrc文件 和设置中
环境。

--冲洗
--冲洗 立即刷新输出。 除非 ack 正在运行,否则默认情况下这是关闭的
交互(当输出进入管道或文件时)。

-f 只打印要搜索的文件,而不实际进行任何搜索。
不得指定 PATTERN,否则将作为搜索路径。

--文件-来自=文件
要搜索的文件列表在 文件. 文件列表是
由换行符分隔。 如果 文件 是“-”,列表是从标准输入加载的。

- [没有过滤器
强制 ack 表现得好像它通过管道接收输入一样。

--[不]关注
遵循或不遵循符号链接,除了任何起始文件或目录
是在命令行中指定的。

这是默认关闭的。

-g 模式
打印相对路径+文件名匹配的文件 模式. 这个选项可以
结合 - 颜色 以便更容易地发现比赛。

--[无]组
- 团体 按文件名分组匹配。 这是交互使用时的默认设置。

--无组 每行打印一个结果,如 grep。 这是输出时的默认值
重定向。

-H, --with-文件名
打印每个匹配项的文件名。 这是默认设置,除非搜索单个
明确指定的文件。

-h, --无文件名
搜索多个文件时,禁止输出文件名的前缀。

--[无]标题
在每个文件的结果上方打印文件名标题。 这是使用时的默认值
交互地。

- 帮帮我, -?
打印一个简短的帮助声明。

--帮助类型, --help=类型
打印所有已知类型。

-i, --忽略大小写
忽略 PATTERN 中的大小写区别

--忽略确认默认值
告诉 ack 完全忽略 ack 提供的默认定义。 这是
结合使用 --创建ackrc 如果你 想自定义ack。

--[否]忽略目录=姓名, --[否]忽略目录=姓名
忽略目录(因为忽略 CVS、.svn 等)。 可以多次使用忽略
多个目录。 例如,梅森用户可能希望包括 --ignore-dir=数据.
这款 --noignore-目录 选项允许用户搜索通常是的目录
忽略(也许是为了研究 .svn/道具 目录)。

这款 姓名 必须始终是一个简单的目录名称。 嵌套目录如 富/酒吧
不支持。 您需要指定 --ignore-dir=foo 然后没有文件来自
除非在命令中明确给出,否则 ack 会考虑任何 foo 目录
线。

--忽略文件=过滤器类型:过滤器参数
忽略文件匹配 过滤器类型:过滤器参数. 过滤器指定为相同
文件类型过滤器,如“定义您自己的类型”中所示。

-k, --已知类型
将选定的文件限制为 ack 知道的类型。 这相当于
在 ack 1 中发现的默认行为。

--行=
仅打印线 每个文件。 可以用多个给出多行 --行
选项或作为逗号分隔的列表 (--行=3,5,7). --行=4-7 也有效。 这
无论命令中给出的顺序如何,行始终以升序输出
线。

-l, --带匹配的文件
只打印匹配文件的文件名,而不是匹配的文本。

-L, --没有匹配的文件
只打印文件的文件名 不是 匹配。

- 比赛 模式
指定 模式 明确地。 如果您不想将正则表达式作为
您的第一个参数,例如在对同一组文件执行多次搜索时。

# 在给定文件中搜索 foo 和 bar
ack file1 t/file* --match foo
ack file1 t/file* --匹配栏

-米=, --最大计数=
停止读取文件后 匹配。

- 男人
打印此手册页。

-n, --无递归
没有下降到子目录。

-o 仅显示每行匹配 PATTERN 的部分(关闭文本突出显示)

--输出=表达式
输出评价 表达式 对于每一行(关闭文本突出显示)如果 PATTERN
匹配多次,然后为每个非重叠匹配输出一行。 更多
信息请参见“示例”部分 - 输出".

--寻呼机=程序, --nopager
--寻呼机 引导 ack 的输出通过 程序. 这也可以通过
“ACK_PAGER”和“ACK_PAGER_COLOR”环境变量。

使用 --pager 不会像管道输出一样抑制分组和着色
命令行可以。

--nopager 取消任何设置 〜/.ackrc, "ACK_PAGER" 或 "ACK_PAGER_COLOR"。 不
输出将通过寻呼机发送。

--直通
打印所有行,无论它们是否与表达式匹配。 高亮仍将
工作,所以它可以用来突出匹配,同时仍然看到整个
文件,如:

# 查看日志文件,并突出显示某个 IP 地址
$尾 -f 〜/访问.log | 确认 --passthru 123.45.67.89

--打印0
仅与 -f、-g、-l 或 -c(文件名输出)结合使用。 文件名是
输出用空字节而不是通常的换行符分隔。 这在以下情况下很有帮助
处理包含空格的文件名,例如

# 删除所有 html 类型的文件
ack -f --html --print0 | 确认 -f --html --print0 | xargs -XNUMX rm -f

-Q, - 文字
引用 PATTERN 中的所有元字符,它被视为文字。

-r, -R, --递归
递归到子目录。 这是默认设置,只是为了与
格雷普。 你也可以用它来转动 --无递归 关闭。

-s 禁止有关不存在或不可读文件的错误消息。 这是取自
fgrep。

--[否]智能机箱, --无智能案例
如果 PATTERN 不包含大写字符,则忽略搜索字符串中的大小写。 这是
类似于 vim 中的“smartcase”。 这个选项默认是关闭的,如果“-i”是
指定的。

-i 始终覆盖此选项。

--排序文件
按字典顺序对找到的文件进行排序。 如果您希望您的文件列表
在运行之间是确定性的 ACK.

--显示类型
输出 ack 与每个文件关联的文件类型。

平台合作 -f-g 选项​​。

--type=[否]类型
指定要在搜索中包括或排除的文件类型。 TYPE 是一种文件类型,
喜欢 perl的 or XML. --类型=perl 也可以指定为 --perl--type=noperl 能够
做为 --诺佩尔.

如果文件同时属于“foo”和“bar”类型,则指定 --foo 和 --nobar 将排除
文件,因为排除优先于包含。

类型规范可以重复并一起进行或运算。

参见 ACK --help=类型 获取有效类型的列表。

--类型添加 :FILTER:过滤器参数
具有应用于给定 FILTER 的给定 FILTERARGS 的文件被识别为
(现有)类型 TYPE。 另请参阅“定义您自己的类型”。

--排版 :FILTER:过滤器参数
具有应用于给定 FILTER 的给定 FILTERARGS 的文件被识别为
输入类型。 这将替换类型 TYPE 的现有定义。 另见“定义
你自己的类型”。

--type-del
与 TYPE 关联的过滤器从 Ack 中删除,不再考虑
用于搜索。

-v, --反转匹配
反转匹配:选择不匹配的行

- 版
显示版本和版权信息。

-w, --word-正则表达式
强制 PATTERN 只匹配整个单词。 PATTERN 用 "\b" 包裹
元字符。

-x 的缩写 --文件-来自=-; 从标准中读取要搜索的文件列表
输入,每个文件一行。

-1 在报告任何类型的第一场比赛后停止。 这不同于 --最大计数=1
or -立方米,其中每个文件只显示一个匹配项。 还, -1 作品 -f-g,其中
-m 才不是。

--thppt
显示非常重要的 Bill The Cat 标志。 请注意,确切的拼写
--thppppt 并不重要。 它根据正则表达式进行检查。

- 酒吧
向海军上将检查陷阱。

--凯茜
巧克力,巧克力,巧克力!

.ackrc文件 文件


这款 .ackrc文件 文件包含前置到命令行的命令行选项
处理前。 多个选项可能存在于多行中。 以# 开头的行
被忽略。 一种 .ackrc文件 可能看起来像这样:

# 总是对文件进行排序
--排序文件

# 始终着色,即使管道到另一个程序
- 颜色

# 使用“less -r”作为我的寻呼机
--pager=更少-r

请注意,其中带有空格的参数不需要被引用,因为它们不是
由外壳解释。 基本上,每个 线 ,在 .ackrc文件 文件被解释为一个
@ARGV 的元素。

ACK 在几个地方寻找 .ackrc文件 档案; 搜索过程详述于
“ACKRC 位置语义”。 不考虑这些文件,如果 --noenv 被指定在
命令行。

定义 您的 类型


除了预定义的类型之外,ack 还允许您定义自己的类型。 这个做完了
最好将命令行选项放入 .ackrc文件 文件 - 那么你不必
一遍又一遍地定义你的类型。 在以下示例中,选项将始终
显示在一个命令行上,以便可以轻松复制和粘贴。

ACK --perl FOO 在所有 perl 文件中搜索 foo。 ACK --help=类型 告诉你,那个 perl
文件是以 .pl、.pm、.pod 或 .t 结尾的文件。 那么,如果您想包含 .xs 怎么办
文件以及搜索 --perl 文件时? ACK --类型添加 perl:分机:xs --perl FOO
这给你。 --类型添加 将附加扩展附加到现有类型。

如果要定义新类型,或完全重新定义现有类型,请使用
--排版. ACK --排版 埃菲尔:分机:e,埃菲尔 定义类型 艾菲尔 包含文件
扩展名为 .e 或 .eiffel。 所以要搜索所有包含该词的 eiffel 文件
伯特兰使用 ACK --排版 埃菲尔:分机:e,埃菲尔 --埃菲尔 伯特兰. 像往常一样,您也可以
--type=埃菲尔 而不是 --埃菲尔. 否定也有效,所以 --诺艾菲尔 排除所有
来自搜索的 eiffel 文件。 重新定义也有效: ACK --排版 抄送:分机:c,h.xs
不再属于该类型 cc.

在定义您自己的类型时 .ackrc文件 您必须使用以下文件:

--type-set=eiffel:ext:e,eiffel

或写在不同的行

--排版
埃菲尔:分机:e,埃菲尔

以下是 不是.ackrc文件 文件:

--type-set eiffel:ext:e,eiffel

要查看所有当前定义的类型,请使用 --帮助类型,例如 ACK --排版
备份:ext:bak --类型添加 Perl: 扩展: Perl --帮助类型

除了基于扩展的过滤(如 ack 1.x 允许),ack 2 提供
附加过滤器类型。 通用语法是 --排版 类型:过滤器:过滤器参数;
过滤器参数 取决于价值 FILTER.

是:文件名
is 过滤器与目标文件名完全匹配。 它只需要一个参数,即
要匹配的文件名。

示例:

--type-set make:is:Makefile

分机:延长[,扩展2[,...]]
分机 过滤器根据扩展名列表匹配目标文件的扩展名。 不
扩展名需要前导点。

示例:

--type-set perl:ext:pl,pm,t

匹配:模式
匹配 过滤器根据正则表达式匹配目标文件名。 常规的
表达式在搜索中不区分大小写。

示例:

--type-set make:match:/(gnu)?makefile/

一线比赛:模式
一线比赛 根据正则表达式匹配目标文件的第一行。
喜欢 匹配,正则表达式不区分大小写。

示例:

--type-add perl:firstlinematch:/perl/

将来可能会提供更多过滤器类型。

环境 变数


对于常用的 ack 选项,环境变量可以让生活变得更轻松。 这些
如果变量被忽略 --noenv 在命令行中指定。

ACKRC
指定用户的位置 .ackrc文件 文件。 如果这个文件不存在, ACK
在默认位置查找。

确认选项
此变量指定要放置在任何显式选项前面的默认选项
在命令行上。

ACK_COLOR_FILENAME
指定打印时文件名的颜色 - 团体 模式。 默认情况下,
它是“大胆的绿色”。

识别的属性有 clear、reset、dark、bold、underline、underscore、blink、
反向,隐藏黑色,红色,绿色,黄色,蓝色,洋红色,on_black,on_red,
on_green、on_yellow、on_blue、on_magenta、on_cyan 和 on_white。 案例不是
重大。 下划线和下划线是等价的,清除和重置也是如此。 这
color 单独设置前景色,而 on_color 设置背景色。

此选项也可以设置为 --颜色文件名.

ACK_COLOR_MATCH
指定打印时匹配文本的颜色 - 颜色 模式。 默认情况下,
它是“黑色 on_yellow”。

此选项也可以设置为 - 色彩搭配.

参见 ACK_COLOR_FILENAME 对于颜色规格。

ACK_COLOR_LINE否
指定打印时行号的颜色 - 颜色 模式。 默认情况下,它是
“大胆的黄色”。

此选项也可以设置为 --颜色-lineno.

参见 ACK_COLOR_FILENAME 对于颜色规格。

ACK_寻呼机
指定一个寻呼程序,例如“more”、“less”或“most”,ack将发送到该程序
它的输出。

使用“ACK_PAGER”不会像管道输出一样抑制分组和着色
命令行可以,除了在 Windows 上 ack 会假设“ACK_PAGER”不
支持颜色。

如果两者都指定,“ACK_PAGER_COLOR”将覆盖“ACK_PAGER”。

ACK_PAGER_COLOR
指定理解 ANSI 颜色序列的寻呼程序。 使用
“ACK_PAGER_COLOR”不会像管道输出一样抑制分组和着色
命令行可以。

如果您不在 Windows 上,则永远不需要使用“ACK_PAGER_COLOR”。

可用 COLORS


ACK 使用 Perl 的 Term::ANSIColor 模块中可用的颜色,它提供了
以下列出的值。 请注意,使用这些值时大小写无关紧要。

前景 颜色
黑色红色绿色黄色蓝色洋红色青色白色

亮黑亮红亮绿亮黄
Bright_blue Bright_magenta Bright_cyan Bright_white

背景 颜色
on_black on_red on_green on_yellow
on_blue on_magenta on_cyan on_white

on_bright_black on_bright_red on_bright_green on_bright_yellow
on_bright_blue on_bright_magenta on_bright_cyan on_bright_white

ACK & 其他 工具


Vim的 积分
ACK 与 Vim 文本编辑器轻松集成。 将此设置在您的 的.vimrc 使用 ACK 代替
of grep的:

设置 grepprg=ack\ -k

该示例使用“-k”仅搜索 ack 知道的类型的文件,但是您
可以使用其他默认标志。 现在您可以搜索 ACK 并轻松地通过
在 Vim 中的结果:

:grep 转储程序 perllib

Miles Sterrett 编写了一个 Vim 插件,用于 ACK 它允许你使用 ":Ack" 而不是
":grep" 以及其他几个高级功能。



Emacs的 积分
菲尔杰克逊组合了一个 确认文件 扩展“提供了一个简单的编译模式......
能够根据主要模式猜测您要搜索的文件。”

<http://www.shellarchive.co.uk/content/emacs.html>

TextMate的 积分
Pedro Melo 是一名 TextMate 用户,他写道:“我的一天大部分时间都在 TextMate 中度过,而
内置的 find-in-project 对于大型项目来说很糟糕。 所以我黑了一个 TextMate 命令
正在使用 find + grep 来使用 ack。 结果是 Search in Project with ack,你
可以在这里找到:
<http://www.simplicidade.org/notes/archives/2008/03/search_in_proje.html>"

外壳 回程 代码
为了更好地兼容 grep的, ACK 在正常使用中返回 shell 返回或退出代码
仅当找到某些内容时为 0,如果未找到匹配项则为 1。

(外壳退出代码 1 在 perl 中是“$?=256”,带有“system”或反引号。)

这款 grep的 不使用错误代码 2。

如果指定了“-f”或“-g”,则如果至少找到一个文件,则返回 0。 如果不
找到文件,然后返回 1。

调试 ACK 问题


如果 ack 为您提供出乎意料的输出,请从几个简单的步骤开始。

使用 --noenv
您的环境变量和 .ackrc文件 可能正在做你意想不到的事情,或者
忘记你指定了。 用 --noenv 忽视你的环境和 .ackrc文件.

使用 -f 请点击 什么 它们在许多情况下都能提供类似的结果。
阿克的 -f 最初是作为调试工具添加的。 如果 ack 没有找到匹配你
认为它应该找到,运行 ACK -f 查看选择了哪些文件。 您还可以添加
“--show-types”选项显示所选的每个文件的类型。

使用 - 倾倒
这列出了加载的 ackrc 文件和从中加载的选项。 因此对于
例如,您可以找到未搜索的目录列表或文件类型所在的目录
定义。

TIPS


使用 .ackrc文件 文件中。
这款 .ackrc文件 是放置您大部分时间使用但不想使用的所有选项的地方
记住。 把你所有的 --type-add 和 --type-set 定义放在里面。 如果你喜欢
--smart-case,也设置在那里。 我还在那里设置了 --sort-files 。

使用 -f 加工 - 代码集
Ack 不仅仅是搜索文件。 "ack -f --perl" 将创建所有 Perl 文件的列表
在树上,非常适合发送到 参数。 例如:

# 将树中所有 Perl 文件中的所有“this”更改为“that”。
ack -f --perl | xargs perl -p -i -e's/this/that/g'

或者,如果您更喜欢:

perl -p -i -e's/this/that/g' $(ack -f --perl)

使用 -Q ,尤其是 in 怀疑 关于 元字符
如果您正在搜索带有正则表达式元字符的内容,通常是
在文件名或 IP 地址中添加 -Q 以避免误报
反斜杠。 有关更多信息,请参阅以下示例...

使用 ACK 日志
这是我前几天用来为网站访问者查找问题点的方法。 用户有
加载问题 麻烦.gif,所以我拿了访问日志,用 ack 扫描了两次。

ack -Q aa.bb.cc.dd /path/to/access.log | ack -Q -B5 麻烦.gif

第一个 ack 只找到给定 IP 的 Apache 日志中的行。 第二个发现
匹配我麻烦的 GIF,并显示每个日志中的前五行
情况。

例子 of - 输出
以下变量在扩展字符串中很有用:

$& PATTERN 匹配的整个字符串。

1 美元,2 美元,...
PATTERN 中第一、第二...括号组的内容。

“$`”
匹配之前的字符串。

“$”
匹配后的字符串。

有关更多详细信息和其他变量,请参阅
<http://perldoc.perl.org/perlvar.html#Variables-related-to-regular-expressions|perlvar>。

此示例显示如何在特定模式周围添加文本(在本例中添加 _
用“e”围绕单词)

ack2.pl "\w*e\w*" quick.txt --output="$`_$&_$'"
_敏捷的棕色狐狸跳过了懒狗
敏捷的棕色狐狸跳过了懒狗
敏捷的棕色狐狸跳过了懒狗

这显示了如何使用 ( ) 在常规中挑选匹配的特定部分
表达。

ack '=head(\d+)\s+(.*)' --output=' $1 : $2'
输入文件包含“=head1 NAME”
输出“1:姓名”

分享 您的 知识
加入 ack-users 邮件列表。 将您的提示发送给我,我可以将它们添加到此处。

常见问题


为什么 是不是 ACK 寻找 a 匹配 in (一些 文件)?
可能是因为它属于 ack 无法识别的类型。 ack的搜索行为是
由文件类型驱动。 If ACK 知道 什么 of 文件 it 是, ACK 忽略 文件中。

使用“-f”开关查看 ack 将搜索您的文件列表。 您可以使用
“--show-types”开关显示ack认为每个文件是哪种类型。

不会 it be if ACK 做了 搜索、 & 代替?
不, ack 将始终是只读的。 Perl 有一个非常好的方法来进行搜索和替换
文件,使用“-i”、“-p”和“-n”开关。

您当然可以使用 ack 来选择要更新的文件。 例如,要更改所有
在所有 PHP 文件中将“foo”转换为“bar”,您可以从 Unix shell 执行此操作:

$ perl -i -p -e's/foo/bar/g' $(ack -f --php)

能够 I 使 ACK 承认 XYZ 文件?
是的! 请参阅“定义您自己的类型”。 如果你认为 ACK 应该识别一种类型
默认情况下,请参阅“增强”。

已经 a 程序/包 被称为 ack。
是的我知道。

为什么 is it 被称为 ACK if 它的 被称为 确认-grep?
该程序的名称是“ack”。 一些打包者在创建时称其为“ack-grep”
包,因为已经有一个名为“ack”的包,它无关紧要
有了这个确认。

我建议你制作一个名为的符号链接 ACK 那指向 确认-grep 因为关键之一
ack 的好处是拥有一个如此简短且易于键入的名称。

要做到这一点,运行它 须藤 或作为根:

ln -s /usr/bin/ack-grep /usr/bin/ack

或者,您可以使用 shell 别名:

# 庆典/zsh
别名 ack=ack-grep

#csh
别名 ack ack-grep

什么是 ACK 是什么意思?
没有。 我想要一个容易打字的名字
音节。

能够 I do 多行 正则表达式?
不,ack 不支持匹配多行的正则表达式。 这样做需要
一次读取整个文件。

如果您想查看比赛附近的线路,请使用“--A”、“--B”和“--C”开关
显示上下文。

为什么 is ACK 告诉 me I 它们在许多情况下都能提供类似的结果。 an 无效 选项 ,尤其是 搜索 “+foo”?
ack 将以“+”或“-”开头的命令行选项作为选项; 如果你愿意
搜索这些,您可以在搜索词前加上“--”或使用“--match”选项。
(但是,不要忘记“+”是正则表达式元字符!)

为什么 “确认 '.{40000,}'" 失败? 是不是 a 有效 正则表达式?
Perl 语言将重复限定符限制为 32K。 您可以搜索“.{32767}”
但不是“.{32768}”。

ACKRC 地点 语义


Ack 可以从许多来源加载其配置。 此列表指定源 Ack
寻找配置; 找到的每个都按照此处指定的顺序加载,并且
每个都覆盖在它之前的任何源中设置的选项。 (例如,如果我设置
--sort-files 在我的用户 ackrc 和 --nosort-files 在命令行,命令行
优先)

· 默认值从 App::Ack::ConfigDefaults 加载。 这可以省略使用
“--ignore-ack-defaults”。

· 全球确认

然后从全局 ackrc 加载选项。 这位于“/etc/ackrc”上
类 Unix 系统。

在 Windows XP 及更早版本中,ackrc 位于“C:\Documents and Settings\All
用户\应用程序数据\ackrc”。

在 Windows Vista/7 下,全局 ackrc 位于“C:\ProgramData”

“--noenv”选项可防止加载所有 ackrc 文件。

· 用户确认

然后从用户的 ackrc 加载选项。 这位于“$HOME/.ackrc”上
类 Unix 系统。

在 Windows XP 及更早版本中,用户的 ackrc 位于“C:\Documents and
设置\$USER\Application Data\ackrc”。

在 Windows Vista/7 下,用户的 ackrc 位于.

如果要加载不同的用户级别的 ackrc,可以用 $ACKRC 指定
环境变量。

“--noenv”选项可防止加载所有 ackrc 文件。

· 项目确认

然后从项目 ackrc 加载选项。 项目ackrc是第一个ackrc
名称为“.ackrc”或“_ackrc”的文件,首先在当前目录中搜索,
然后是父目录,然后是祖父目录,等等。这可以省略
使用“--noenv”。

· --ackrc

“--ackrc”选项可以包含在命令行中以指定一个 ackrc 文件
可以覆盖所有其他人。 即使存在“--noenv”,也会对其进行咨询。

· 确认选项

然后从环境变量“ACK_OPTIONS”加载选项。 这可以
使用“--noenv”省略。

· 命令行

然后从命令行加载选项。

差异性 之间 ACK 1.X AND ACK 2.X


ack 2 做了很多改动; 这是它们的列表。

一般 变化
· 当没有指定选择器时,ack 1.x 只搜索它可以映射的文件
到文件类型。 相比之下,ack 2.x 将搜索所有常规的、非二进制的
未通过以下方式显式忽略的文件 --忽略文件 or --忽略目录。 这是
类似的行为 -a/--全部 ack 1.x 中的选项

· 增加了更灵活的过滤系统,可以让更强大的文件类型
由用户创建。 详情请参考“定义自己的类型”。

· ack 现在可以加载多个 ackrc 文件; 有关详细信息,请参阅“ACKRC 位置语义”。

· ack 的默认过滤器定义并不特殊; 你可以告诉 ack 完全
如果您不喜欢它们,请忽略它们。

已删除 配置
· 由于默认搜索行为的变化, -a/--全部-u/--不受限制
选项已被删除。 除此之外 -k/--已知类型 选项已添加到
使 ack 以 ack 1.x 的默认搜索行为运行。

· -G 选项已被删除。 命令行上的两个正则表达式是
认为太混乱; 模拟 -G的功能,您可以使用新的 -x
将文件名从一个 ack 调用传送到另一个调用的选项。

· --二进制 选项已被删除。

· --跳过 选项已被删除。

· - 文本 选项已被删除。

· --反转文件匹配 选项已被删除。 相反,您可以使用 -v - -g.

CHANGED 配置
· 修改正则表达式行为的选项(-i, -w, -Q-v) 现在可以
用于 -g.

添加 配置
· --文件来自 已添加,以便用户可以提交文件名列表作为
要搜索的文件。

· -x 添加了告诉 ack 通过标准输入接受文件名列表; 这份清单
是将用于搜索的文件名列表。

· -s 添加了告诉 ack 抑制关于不存在或不可读的错误消息
文件。

· --忽略目录--noignore-目录 被添加为别名 --忽略目录
--noignore-目录

· --忽略文件 添加了以便用户可以指定要忽略的文件模式(例如。
/.*~$/)。

· - 倾倒 添加了允许用户轻松找出设置的选项。

· --创建ackrc 已添加,以便用户可以根据
ack 加载的默认设置,以便用户可以轻松查看这些默认设置。

· --type-del 被添加到有选择地删除文件类型定义。

· --忽略确认默认值 添加以便用户可以忽略 ack 中的默认选项
自己的青睐。

· - 酒吧 添加了 ack 用户可以咨询 Admiral Ackbar。

使用 onworks.net 服务在线使用 ackp


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad