如何在 Windows cmd 中使用 git grep 搜索带有一个双引号的字符串
How to search for a string with one double quote with git grep in Windows cmd
问题是带有两个引号的字符串搜索得很好。但!我想在 Windows 的 cmd 上的存储库中查找字符串 "Agent
(一个双引号!)。所以我有这个:
git grep "\"Agent\"" > 1.txt
(有效!找到所有带有 "Agent"
的字符串)
git grep "\"Agent" > 1.txt
(错误!fatal: ambiguous argument '>': unknown revision...
)
知道如何正确逃脱吗?
在GitCMD或Windowscmd控制台中,可以使用^
转义终端内的"
:
git grep ""^""Agent" > 1.txt
在GitBash中,你可以简单地使用
git grep '"Agent' > 1.txt
查看我用 "Regex
模式对数据制作的文本:
有趣的是我在 CMD 和 Git Bash 中的发现会将其作为 2 个不同的命令进行拦截。这不仅在 git grep
的情况下,而且 echo
也会有相同的行为。
在这里你可以看到我在 echo
中使用的语法类似于你的语法,它没有写入文件只是打印下一行
现在,当我添加结束引号时,echo 工作正常并写入文件。
现在,如果您想打印单引号,则必须使用双引号作为开始和结束引号,反之亦然。 click here for reference.
现在根据这个文档,在 double-quotes 中包含一个单引号是有效的,这在 grep
的情况下也有效。
但它的反向(用单引号包裹双引号)在 windows CMD 中不起作用,这可能是因为 bash 正在拦截双引号 (")。但是你可以使用 git bash
及以下将正常工作。
问题是带有两个引号的字符串搜索得很好。但!我想在 Windows 的 cmd 上的存储库中查找字符串 "Agent
(一个双引号!)。所以我有这个:
git grep "\"Agent\"" > 1.txt
(有效!找到所有带有 "Agent"
的字符串)
git grep "\"Agent" > 1.txt
(错误!fatal: ambiguous argument '>': unknown revision...
)
知道如何正确逃脱吗?
在GitCMD或Windowscmd控制台中,可以使用^
转义终端内的"
:
git grep ""^""Agent" > 1.txt
在GitBash中,你可以简单地使用
git grep '"Agent' > 1.txt
查看我用 "Regex
模式对数据制作的文本:
有趣的是我在 CMD 和 Git Bash 中的发现会将其作为 2 个不同的命令进行拦截。这不仅在 git grep
的情况下,而且 echo
也会有相同的行为。
echo
中使用的语法类似于你的语法,它没有写入文件只是打印下一行
现在,如果您想打印单引号,则必须使用双引号作为开始和结束引号,反之亦然。 click here for reference.
grep
的情况下也有效。
但它的反向(用单引号包裹双引号)在 windows CMD 中不起作用,这可能是因为 bash 正在拦截双引号 (")。但是你可以使用 git bash
及以下将正常工作。