"的字符串进行 git grep?-6ren"> "的字符串进行 git grep?-git grep 似乎比常规 GNU grep 具有更简单的规则,这将允许您 search for tabs和escape special characters with a backslash .我-6ren">
gpt4 book ai didi

git - 我如何对包含 ">"的字符串进行 git grep?

转载 作者:太空狗 更新时间:2023-10-29 14:28:57 25 4
gpt4 key购买 nike

git grep 似乎比常规 GNU grep 具有更简单的规则,这将允许您 search for tabsescape special characters with a backslash .我正在尝试查找字符串 ->upload 的出现,但似乎没有办法转义它。

如何运行 git grep "->upload"

$ git grep ->upload
No output; return 0
$ git grep "->upload"
error: unknown switch `>'
git grep "\-\>upload"
No output; return error
$ git grep '->upload'
error: unknown switch `>'

最佳答案

如有疑问,请使用单字符类而不是反斜杠在正则表达式中生成单字 rune 字:

git grep -e '-[>]upload'

虽然反斜杠的含义可能因特定字符和使用的特定正则表达式语法而有所不同,但 [>] 始终表示相同的意思。

也就是说,这里最直接的问题不是由 > 引起的,而是由前导破折号引起的,这使得字符串与选项列表无法区分。

-e 不是因为> 需要的,而是因为-。没有它,->upload 将被视为一系列标志(->-u-p, -l, -o, -a, -d).


就是说,你可以不用 -e,也可以将破折​​号移到字符类中,从而使其不再是命令行中的第一个字符:

git grep '[-][>]upload'

关于git - 我如何对包含 ">"的字符串进行 git grep?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47891523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com