首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将列表传递给ack的语法是什么?

将列表传递给ack的语法是什么?
EN

Stack Overflow用户
提问于 2014-03-07 22:42:47
回答 1查看 76关注 0票数 1

我在我的windows7笔记本电脑上安装了strawberry-perl。

我想在windows上使用grepack搜索单词列表。我已经能够使用ack执行基本的搜索,但我只是不知道如何将单词列表传递给ack,所以我想将单词列表传递给ack,并找出这些单词出现的行号。这两个词不必出现在同一行。

例如,如果我在搜索" doll“和" house ",我可以在第12行搜索could,在第244行搜索house。

我尝试了类似这样的ack "doll"|"house",但它抛出了以下错误。

代码语言:javascript
复制
Expressions are only allowed as the first element of a pipeline.
At line:1 char:22
+ ack "doll" | "house" <<<<
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpressionsMustBeFirstInPipeline
EN

回答 1

Stack Overflow用户

发布于 2014-04-16 20:40:16

所以你的意思是你想找到所有出现“玩偶”和“房子”的文件。这就是你要做的。

首先,找到包含“玩偶”的所有文件,并打印出它们的列表。

代码语言:javascript
复制
ack -l doll

然后在该文件列表中搜索单词"house“。

代码语言:javascript
复制
ack house $(ack -l doll)

或者,如果您没有运行允许您执行此操作的shell (即Windows),则可以执行以下操作:

代码语言:javascript
复制
ack -l doll | ack -x house

ack -x说“从STDIN中获取要搜索的文件列表”。

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

https://stackoverflow.com/questions/22253138

复制
相关文章

相似问题

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