grep / ripgrep - 限制字符数
我有一组非常大的文件,我想搜索特定的字符串。 我知道该字符串将出现在文件开头非常接近的位置。它通常位于文件的最开头。如果不是,则位于前 1k 字节内。 有没有办法告诉 grep / ripgrep 只搜索前 N 个字节(或字符)? ...
我有一组非常大的文件,我想搜索特定的字符串。 我知道该字符串将出现在文件开头非常接近的位置。它通常位于文件的最开头。如果不是,则位于前 1k 字节内。 有没有办法告诉 grep / ripgrep 只搜索前 N 个字节(或字符)? ...
假设我有一个包含类似内容的脚本 VAR=${VAR1%.*} 我正在寻找类似的命令 rg "${.*%" 想要找到它,但我无法靠近。 所有这些都失败了 rg "\$\{.\*%" rg \$\{.\*% rg "\$\{.*%" rg \$\{.*% ...
我只是想分享这个,并希望能得到更多类似的工具。 我有一个文本文件目录。我需要搜索其中包含 2 个(部分)单词的文件。关键字按随机顺序排列,但在同一行。 到目前为止,我可以使用这个: $ rg -i '\w*keyword1\w*.*\w*keyword2\w*|\w*keyword2\w*.*\w*keyword1\w*' --glob '*.txt' --line-number -l /path/to/search $ rg -g '*.txt' -l -i 'keyword1.*keyword2|keyword2.*keyword1' /path/to...
我有一个像这样的命令 rga --files-with-matches --count-matches --sort path -i -e "use cases?" -e "user stor(y|ies)" -e "Technical debt" -e "Code Quality" -e "software development" -e "Agile Manifesto" 输出就像 a1.pdf:18 a2.pdf:10 a3.pdf:14 .... 这里,:NUM是匹配数。 我想要所有具有超过 10 个匹配项的文件(不带冒号和数字,以便我可以将输出...
我想搜索所有 git 跟踪的文件,1. 具有文件扩展名,2.在任何行中.hs包含该单词。import 我尝试过使用git ls-files -z | xargs -0 rg -g '*.hs' "import",但不幸的是,如果您将显式文件列表传递给它,rg它似乎会忽略-gglob 标志。 我可能会使用grep一些正则表达式lookbehind来提取具有特定文件扩展名的文件,或者可能过滤输出git ls-files -z(确保我们保留空分隔的文件名方面,但这两种方法似乎都有点笨拙...... 如果有人有任何想法。 ...
哪些字符与以下正则表达式匹配: ^[a-zA-Z]$ 具体来说,带有重音符号的字符(例如 á、è、ò)是否应该与此正则表达式匹配?或者只是 26 个小写和大写字母?我已经尝试过检查这个在在线正则表达式中,重音字符不匹配。 grep当我在我的 Linux (Ubuntu) 机器上尝试它时确实匹配带重音的字符。同时rg(ripgrep)不匹配它。 我可以rg使用以下命令来匹配重音字符[A-zÀ-ÿ] 但是有没有办法从匹配中排除重音字符grep? 附:这问题讨论如何包含而不是排除重音字符。 ...
可能是一个新问题,但我已经看到“rankmirrors”命令可以使用标准输入输入。但是,当我运行以下命令(将“mirrorslist”文件中使用的所有 URL 检索到“rankmirrors”)时,出现错误: $ rg -e "^Server" /etc/pacman.d/mirrorlist | rg -oe "https.*" | rankmirrors -t Must specify URL, mirrorfile, or stdin. 还有另一种方法可以使用前面的命令标准输出作为当前标准输入命令的? ...
如何找到包含特定模式的文件在特定行号上?假设我有一个目录,其中包含一堆包含 3 行的文本文件,例如: Title A Category X Description Y 如何 grep/过滤每个在线Category X文件2?如何找到包含Title Aas 行的文件1? 我查看了 grep 手册页、ripgrep 和替代方案,但不确定是否可以将模式搜索限制为特定行号。 ...
如何使用 ripgrep 查找相邻的重复单词。例如 one hello hello world 如何hello hello使用ripgrep进行定位? 解决了 rg '(hello)[[:blank:]]+\1' --pcre2 <<<'one hello hello world' ...
我使用的是 Linux Ubuntu 18.04 和 20.04。 Ripgrep ( rg) 可以输出包含匹配项的文件的路径列表,如下所示: # search only .txt files rg 'my pattern to match' -g '*.txt' -l # long form rg 'my pattern to match' --glob '*.txt' --files-with-matches 输出将是: path/to/file1.txt path/to/file2.txt path/to/file3.txt ETC。 然后,我...
我是 z shell 和 ohmyz.sh 的新手。 我的 zshrc 中有以下内容,用于将 fzf 与 rg 集成。这正是 fzf 自述文件中的显示方式: FZF_BASE=/usr/local/bin DISABLE_FZF_AUTO_COMPLETION="true" DISABLE_FZF_KEY_BINDINGS="true" INITIAL_QUERY="" RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case " FZF_DEFAULT_COM...
我有一个包含一些 python 代码的文件。有一行包含以下内容(包括引号) 'hello "value"' 我想'hello "value"在文件中搜索。请注意未关闭的报价。我使用 ripgrep 和以下命令: rg -F 'hello "value" 上述命令不适用于'hello "value"bash/zsh 中的输入。我想要的只是字面匹配。我已经使用了该标志F,但由于输入字符串中未闭合引号,它根本不起作用。我还尝试将输入括在单/双引号内,如下所示: rg -F "'hello "value""或者rg -F ''hello "value"' 上面的方法...
假设一个input.txt文件包含多个字符串,如下所示: [[foo>a|a]] [[foo>b|b]] [[foo>c|c]] 我想替换为: :foo:`a` :foo:`b` :foo:`c` 我想我可以用sedor来达到这个结果rg(我从未使用过awk)。 但该文件还包含其他字符串,如下所示: [[foo>a|d]] [[foo>b|e]] [[foo>c|f]] 我想替换为: :foo:`d <a>` :foo:`e <b> ` :foo:`f <c>` 我所有的尝试都失...
我希望能够运行rg -Ttests而不是打字rg -g'!tests/' -g '!test/' -g'!Tests/' -g '!Test/',这可能吗? ...
我希望 ripgrep 搜索具有指定模式的路径。例如 rg PATTERN --path REGEX 其中 PATTERN 是 grep 的模式,REGEX 是路径匹配模式。 我已经阅读了文档,并且不确定此功能是否已包含在内。 ...