问题标签 [ack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4285 浏览

svn - 仅将 SVN 修改的文件复制到另一个目录

我的当前工作副本中有一个已在本地修改的文件列表。大约有 50 个文件已更改。

我可以通过这样做获得这些文件的列表:

有没有办法可以将这些文件复制到另一个目录中,并且将这些文件复制到另一个目录,该目录称为backup?

0 投票
3 回答
1700 浏览

grep - grep 并忽略缩小的 javascript

有没有办法告诉 ack/grep 忽略缩小的 Javascript?这些文件每行有数千个字符,并且会破坏搜索输出。

0 投票
3 回答
2533 浏览

bash - Bash - ack - 限制匹配行的长度

有没有办法限制ack匹配的行的长度?如果 ack 匹配,例如,一个缩小的 javascript 文件,它打印出来的行可能非常大。我仍然希望它显示突出显示的匹配,但理想情况下,在匹配之前和之后使用省略号:"... stuff match stuff ...". 在ack 文档中没有看到任何结论性的内容。

我试着用类似的东西来挖掘它

awk似乎正在剥离颜色和格式,这是不受欢迎的。我也尝试过(请耐心等待):

看看我是否可以重新确认每一行并将其切碎或其他东西,但这有同样的格式问题。管道 ack 输出明显消除了换行符?

根据评论编辑:

也许这将有助于解释我想要这个的主要原因。我使用 ack.vim 在我的项目中进行搜索。我经常想通过我的 javascript 文件来查找一个单词,比如“cookie”。我们在代码中对 jQuery 和其他缩小的库进行了版本控制,因此它们会显示在 ack 结果中。由于这些文件被缩小,因此很少有换行符,并且它在拆分窗口中显示了一条巨大的线,我必须滚动过去。我几乎从不关心那场比赛,所以占用这么多空间很烦人。我可以将那些缩小的文件名添加到我的 ackrc 中以忽略,但我不希望每次添加缩小库时都必须添加新文件名。ack.vim repo 上有一个关于这个的未解决的问题。我想知道是否可以纯粹通过 bash-fu 来做。

0 投票
1 回答
793 浏览

find - 最佳 GNU 查找替代品

我正在寻找更好的发现。原因是 find 用户界面对我来说不直观(特别是 pruning / -print 样式)并且由于对参数顺序的严格要求而难以包装在函数中。locate / updatedb 不够灵活,无法使用。是否有人愿意分享他们的示例查找包装器或查找替代品(请仅命令行)?

这是我发现不直观的用法的示例:

在选项之前指定目录对我来说很奇怪,并且很容易忘记修剪的语法。(有些程序使用 --exclude 选项代替。)我认识到这是一个挑剔的点。

这是我在不丢失太多功能的情况下指定一些默认值的最佳尝试:

要求对程序中的所有选项有一个完美的理解,以便能够用一些默认值来包装它并且不会失去与普通查找的功能/兼容性,这似乎很愚蠢。

我猜我不会像 GNU 发现的那样标准,但可能会有更好的东西,尽管鲜为人知。

更新(2013-11-26):

  • 在 Itay 的建议下,我使用了ack大约一年。它对我至少 95% 的搜索非常有效。
  • 我最近发现了Ag,它是 ack 的快速版本。在过去的几周里,它一直运行良好。

更新(2014-11-23):

我强烈推荐Ag。它工作得很好。仍然有很多次 Find 是必要的,为此我继续寻找一个不错的替代品。虽然毫无疑问很有用,但在我看来,Find 的界面非常过时并且不必要地困难。

更新(2017-08-04):

我现在最强烈推荐ripgrep作为不可或缺的 Ag 替代品。这是一个非常新的工具,但它对 .gitignore 文件的支持大大超过了 Ag 并且在所有其他方面它是等效的或更好的。我继续寻找 Find 替代品。

更新(2021-11-28):

我继续使用并喜欢满足我大部分需求的ripgrep 。对于其他一切,我混合使用 find 和fd

0 投票
2 回答
1333 浏览

file - 将包含目录的 SVN 修改文件复制到另一个目录

我的当前工作副本中有一个已在本地修改的文件列表。大约有 50 个文件已更改。

我正在使用以下命令将已在 subversion 中修改的文件复制到名为 /backup 的文件夹中。有没有办法做到这一点,但维护他们所在的目录?所以它会做一些类似于导出文件的 SVN 差异的事情。例如,如果我更改了一个名为的文件,/usr/lib/SPL/RFC.php那么它也会将该usr/lib/SPL目录复制到备份中。

0 投票
1 回答
151 浏览

ack - 如何在“Gemfile”中进行 ack 搜索?

有谁知道如何让“ack”来搜索像“Gemfile”这样的文件?

仅仅添加--type-add=ruby=Gemfile到“~/.ackrc”是行不通的,因为“Gemfile”没有任何文件扩展名。

谢谢!

0 投票
4 回答
1519 浏览

vim - Vim 和 ack-grep:quickfix 不打开文件

我不知所措。

我正在运行 Debian Lenny、vim 7.3,并且我已经尝试了 ack-grep 1.80 和 1.96。我将此行添加到我的 .vimrc 中:

[当我包含时,--column我得到一个错误,它不是一个有效的选项,这就是我尝试升级 ack-grep 的原因。]

当我执行:Ack时,快速修复窗口以这种形式显示匹配项:

我可以使用:cn,:cp等方法。但我无法让 vim 打开文件。return 和 o 什么都不做。

我错过了什么?!

0 投票
2 回答
512 浏览

vim - 设置 Ack 以查看车把文件

我在 Vim 中设置了 Ack,但目前它不在 .handlebars 文件中搜索。

有谁知道如何将把手添加到文件列表中?

0 投票
1 回答
429 浏览

regex - Perl正则表达式,求SKU号

我正在尝试使用ack解析一堆 PHP 代码。我对正则表达式非常缺乏经验,并试图弄清楚为什么我目前使用的不能按我预期的那样工作。

我正在尝试在 PHP 文件中查找与以下模式匹配的所有行:

字符串“SKU”,后跟任意数量的任意字符,后跟实际 SKU(长度不确定的数字序列)。

我的正则表达式目前是:

但这匹配了很多不适合我正在寻找的模式的字符串,例如

SKUs</h3>SKU',

我也试过:

无济于事。

有大佬有见解吗?提前致谢。

0 投票
2 回答
463 浏览

search - ack 在 Smarty TPL 模板文件中搜索内容

是否可以用于ack搜索 Smarty 模板文件 (.tpl) 中的内容?

目前我只能在这些模板的缓存版本中搜索,它们本身就是 PHP 文件。

如果我在下面进行不区分大小写的ack搜索,则会返回以下内容: