ack

github地址https://github.com/beyondgrep/ack2

文档地址http://beyondgrep.com/

安装

mac

brew install ack

linux

yum install ack

其他系统可以查看https://beyondgrep.com/install/安装

ack 命令 (ack --help)

用法: ack [OPTION]... PATTERN [FILES OR DIRECTORIES] 参数 正则 文件/目录/描述

从当前目录下的树中的每个源文件中搜索PATTERN。如果指定了任何文件或目录,则仅检查那些文件和目录。ack也可以搜索STDIN,但前提是没有指定文件或目录参数,或者其中一个是“ - ”。

可以在ACK_OPTIONS环境变量或.ackrc文件中指定默认开关。如果您不想依赖环境,请使用--noenv将其关闭。

示例:ack -i select

搜索:

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

--[no]smart-case 忽略PATTERN中的大小写区别, 仅当PATTERN不包含大写。 如果指定了-i,则忽略

-v, --invert-match 反向匹配:选择不匹配的行

-w, --word-regexp 强制PATTERN仅匹配整个单词

-Q, --literal 引用所有元字符; PATTERN是字面意思

搜索输出:

--lines=NUM 仅打印每个文件的NUM个

-l, --files-with-matches 仅打印包含匹配项的文件名

-L, --files-without-matches 仅打印没有匹配项的文件名

--output=expr 输出每行的expr的求值(关闭文本高亮显示)

-o 仅显示与PATTERN匹配的行的部分与 --output ='$&'相同

--passthru 打印所有行,无论是否匹配

--match PATTERN PATTERN显式指定PATTERN

-m, --max-count=NUM 在NUM匹配后停止在每个文件中搜索

-1 在任何类型的一场比赛后停止搜索

-H, --with-filename 打印每个匹配的文件名 (默认值:on,除非明确搜索单个文件)

-h, --no-filename 禁止输出前缀文件名

-c, --count 显示每个文件匹配的行数

--[no]column 列显示第一个匹配的列号

-A NUM, --after-context=NUM 在匹配行之后打印NUM行尾随上下文

-B NUM, --before-context=NUM 在匹配行之前打印NUM行前导上下文

-C [NUM], --context[=NUM] 打印输出上下文的NUM行(默认为2)

--print0 打印空字节作为文件名之间的分隔符 仅适用于-f,-g,-l,-L或-c

-s 禁止有关不存在或不可读文件的错误消息

文件显示:

--pager=COMMAND 通过COMMAND管道所有ack输出。 例如, - pager =“less -R”。 如果重定向输出,则忽略

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

--[no]heading 在每个文件的结果上方打印文件名 (默认:交互使用时打开)

--[no]break 在不同文件的结果之间打印中断 (默认:交互使用时打开)

--group 与--heading --break相同

--nogroup 与--noheading --nobreak相同

--[no]color color突出显示匹配的文本 (默认值:on,除非重定向输出,或在Windows上)

--[no]colour 颜色与 - [no]颜色相同

--color-filename=COLOR

--color-match=COLOR

--color-lineno=COLOR 设置文件名,匹配项和行号的颜色

--flush 立即刷新输出,即使非交互式使用ack(当输出到管道或文件时)

文件查找:

-f 仅打印所选文件,无需搜索。不得指定PATTERN

-g 与-f相同,但仅选择与PATTERN匹配的文件

--sort-files 在词法上对找到的文件进行排序

--show-types 显示每个文件的类型

--files-from=FILE 读取要从FILE中搜索的文件列表

-x 读取要从STDIN搜索的文件列表

文件包含/排除:

--[no]ignore-dir=name 从被忽略的目录列表中添加/删除目录

--[no]ignore-directory=name 与 ignore-dir 相同

--ignore-file=filter 添加忽略的过滤器files

-r, -R, --recurse 递归查找 (默认: on)

-n, --no-recurse 不递归查找子目录

--[no]follow Follow symlinks. Default is off.

-k, --known-types 仅包括ack识别的类型的文件

--type=X 仅包含X个文件,其中X是可识别的文件类型

--type=noX 排除X文件。有关支持的文件类型,请参阅“ack --help-types”

文件类型规范:

--type-set TYPE:FILTER:FILTERARGS 应用于给定FILTER的给定FILTERARGS的文件被识别为TYPE类型。这将替换类型TYPE的现有定义.

--type-add TYPE:FILTER:FILTERARGS 将给定FILTERARGS应用于给定FILTER的文件识别为TYPE类型

--type-del TYPE 删除与TYPE关联的所有过滤器

其他:

--[no]env 忽略环境变量和全局ackrc文件 --env合法但多余

--ackrc=filename 指定要使用的ackrc文件

--ignore-ack-defaults 忽略ack中包含的默认定义

--create-ackrc 将自定义的默认ackrc输出到标准输出

--help, -? 帮助

--help-types 显示所有已知类型

--dump 转储从哪些RC文件加载选项的信息

--[no]filter filter强制ack将标准输入视为管道(--filter 或tty(--nofilter)

--man Man 页面

--version 显示版本和版权

--thpppt Bill the Cat

--bar The warning admiral

--cathy Chocolate! Chocolate! Chocolate!

results matching ""

    No results matching ""