标签: ack

仅在与 ack 匹配模式的文件中搜索

只能通过匹配特定“glob”模式的文件进行确认搜索(例如:在所有名为“bar*.c”的文件中搜索 foo)。命令

ack foo "bar*.c"
Run Code Online (Sandbox Code Playgroud)

仅适用于当前目录。

注意:我知道 find -exec 是可能的:

find . -name "bar*.c" -type f -exec ack foo {} + 
Run Code Online (Sandbox Code Playgroud)

但我想要一个小而简单的 ack 命令,因为 find 不会跳过版本控制目录。

ack

54
推荐指数
4
解决办法
4万
查看次数

如何在 ack 和 grep 中进行最大深度搜索?

有没有办法告诉ack只搜索当前文件夹上的文本?(或指定一个max-depth级别?)和grep

grep ack

46
推荐指数
2
解决办法
3万
查看次数

`ack` 不在单个文件上显示行号

我正在使用 ack 来搜索字符串。当我在没有文件参数的情况下运行它时,我得到行号:

$> ack function
themes/README.txt
7:Drupal's sub-theme functionality to ensure easy maintenance and upgrades.

sites/default/default.services.yml
48:    # - The dump() function can be used in Twig templates to output information

...
Run Code Online (Sandbox Code Playgroud)

但是当我尝试指定一个文件时,我没有得到行号。

$> ack function themes/README.txt
Drupal's sub-theme functionality to ensure easy maintenance and upgrades.
Run Code Online (Sandbox Code Playgroud)

我在谷歌上搜索了一些开关,但没有找到结果。如何获得确认以显示单个文件结果的行号?

ack

18
推荐指数
3
解决办法
2968
查看次数

使用 ack 搜索所有文件

如何使用v2搜索当前目录中的所有文件(包括二进制文件)ack

我想做和做一样的事情ack 'foo' **,但只是有一个标志,所以如果我想搜索特定目录中的所有文件而不附加**.


ack 'foo'和之间的区别ack 'foo' **

$ mkdir test && cd test
$ printf '\x00\x01foo1\x00' > test1
$ printf 'foo2' > test2
$ ack 'foo'
test2
1:foo2
$ ack 'foo' **
test1
1:foo1

test2
1:foo2
Run Code Online (Sandbox Code Playgroud)

ack

14
推荐指数
2
解决办法
5445
查看次数

如何 ack-grep 排除文件类型 *.sql 文件或大于 >3MB 的文件?

我想在我的目录中搜索文件中的“foo”,但我有这些巨大的 sql 文件。如何使用 ack-grep 排除这些文件类型或大于 3MB 的文件?另外,这将如何用 grep 完成?

grep ack

9
推荐指数
2
解决办法
3125
查看次数

如何使用“ag”忽略多个文件 The Silver Searcher

有一个选项--ignore允许指定要忽略的文件。目前我只能通过执行来忽略多个文件--ignore file1 --ignore file2.......

尝试使用--ignore "*assets*|*scripts*"没有任何作用。那么有什么我不知道的问题吗?

regular-expression patterns ack ag

9
推荐指数
1
解决办法
7448
查看次数

ack/grep 搜索并按修改日期排序

有没有办法对ack按修改日期找到的结果进行排序?(最好在结果旁边显示日期?)。它看起来没有ack日期选项,但以防万一。

如果使用 无法做到这一点ack,那么如何grep或使用工具组合?

grep files ack

8
推荐指数
2
解决办法
5299
查看次数

ack :获取第 10 个(或更大的第 n 个)匹配/捕获组

我想我可能刚刚搜索错了,但我没有找到任何答案。如果有重复,请告诉我,我可以将其删除。

问题背景

我正在使用ack链接),它在引擎盖下有 Perl 5,来获取 n-gram - 特别是高阶 n-gram。我可以使用我知道的语法(基本上最多$9)获得最多 9 克,但我无法获得 10 克。使用$10只是给了我$1一个0之后。之类的东西$(10),并${10}没有解决问题。我对使用语言建模工具包的解决方案感兴趣,我想使用ack.

我使用的一个数据集是马克吐温的全集

( wget http://www.gutenberg.org/cache/epub/3200/pg3200.txt && mv pg3200.txt TWAIN_Mark_complete_orig.txt).

我已经解析干净了(请参阅文章末尾的解析注释)并将解析结果保存为TWAIN_Mark_complete_parsed.txt.

我从 2 克中得到了很好的结果,代码和部分结果是

time cat TWAIN_Mark_complete_parsed.txt | \
    ack '(\S+) +(?=(\S+) +)' \
    --output '$1 $2' | \
    sort | uniq -c | \
    sort -rn > Twain_2grams.txt
## `time` info not shown …
Run Code Online (Sandbox Code Playgroud)

perl ack pattern-matching

5
推荐指数
0
解决办法
90
查看次数

如何搜索Ack中的所有文本文件?(现在删除了 --text 选项)

手册说“该--text选项已被删除。”。它将--type文本设置为文本,即ack搜索所有文本文件而不管它们的语义类别(即在 *.php 文件、*.txt 文件、*.cpp 文件等中)。如何在当前版本中获得这种行为ack

ack

3
推荐指数
1
解决办法
1019
查看次数

`ack-grep` 中是否有类似 `find` 的 `-exec` 选项?

我想删除所有包含 string 的文本foo

我可以通过 列出所有文件ack-grep foo,但我找不到删除所有文件的方法,例如像这样的-exec rm {}选项find.

如何删除包含特定字符串的所有文件?

find ack

3
推荐指数
1
解决办法
492
查看次数

匹配一个简单的正则表达式

我需要匹配这个: (tt\d{1,10}) 在一个文件中以 txt 结尾。

我试过 grep 和 ack-grep 但没有结果。

ack-grep -G \.txt$ -g "(tt\d{1,10})"
Run Code Online (Sandbox Code Playgroud)

grep regular-expression ack

1
推荐指数
1
解决办法
516
查看次数

标签 统计

ack ×11

grep ×4

regular-expression ×2

ag ×1

files ×1

find ×1

pattern-matching ×1

patterns ×1

perl ×1