首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ack搜索特定文件类型

使用ack搜索特定文件类型
EN

Stack Overflow用户
提问于 2014-08-08 17:32:37
回答 3查看 5.9K关注 0票数 23

如何使用ack在特定文件类型的文件中搜索。

例如

代码语言:javascript
运行
复制
ack -f .scss blah
acl -f .rb blah

显然,上面的方法不起作用,但是我如何使用ack来做到这一点呢?

EN

回答 3

Stack Overflow用户

发布于 2014-08-14 17:32:07

为此使用--type。要仅搜索python文件,例如:

代码语言:javascript
运行
复制
ack --type=python searchthis

列出所有支持的类型

代码语言:javascript
运行
复制
ack --help=types  # ack 2.x
ack --help-types  # ack 3.x.x

如果您想创建自定义类型,请在~/.ackrc中添加类似以下内容:

代码语言:javascript
运行
复制
--type-add=custom:ext:rb
--type-set

然后,您可以使用--type=custom和ack来搜索扩展名为.rb的文件。

票数 24
EN

Stack Overflow用户

发布于 2018-03-09 23:44:48

代码语言:javascript
运行
复制
find . -name '*.scss' | ack -x 'blah'

-x从标准输入中读取要搜索的文件列表。

票数 13
EN

Stack Overflow用户

发布于 2018-11-12 10:12:51

简短回答:

代码语言:javascript
运行
复制
ack blah --css

长篇答案:

您可以将文件类型添加到搜索中,以教导Ack仅在这些文件中查找。例如,让我们将csssass扩展与"stylesheets“短名称相关联:

代码语言:javascript
运行
复制
ack --type-add=stylesheets:ext:css,sass

既然您已经教会了Ack您想要搜索与"stylesheets“短名称相关联的文件类型,那么您可以让Ack使用该短名称:

代码语言:javascript
运行
复制
ack --type-add=stylesheets:ext:css,sass --type=stylesheets blah

或者用捷径:

代码语言:javascript
运行
复制
ack --type-add=stylesheets:ext:css,sass --stylesheets blah

即使在很短的时间内,要输入大量命令进行搜索,这也是为什么在~/.ackrc这样的配置文件上使用这些命令更好的原因,但我更喜欢在我的~/.bashrc中使用它们的别名。

但是为什么它在默认情况下可以与--type=css--css一起工作呢?因为Ack有一个默认的文件名组,你可以用ack --dump转储。

使用确认版本: 2.24

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25200246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档