【发布时间】:2020-03-25 04:35:15
【问题描述】:
我是 Github 和 Jupyter notebook 的新手。
我想在 git 存储库中查找特定功能,我该怎么做?
我知道我可以使用 Git grep,但我不知道命令。
另外,我可以使用 Jupyter 笔记本来执行此操作还是必须使用终端?
【问题讨论】:
标签: git search grep jupyter-notebook find
我是 Github 和 Jupyter notebook 的新手。
我想在 git 存储库中查找特定功能,我该怎么做?
我知道我可以使用 Git grep,但我不知道命令。
另外,我可以使用 Jupyter 笔记本来执行此操作还是必须使用终端?
【问题讨论】:
标签: git search grep jupyter-notebook find
我不知道Jupyter Notebook,但使用终端。确保您已经拥有git cloned 存储库并且位于终端的目录中。然后在终端执行git grep。
1.使用git grep(您必须在 git repo 中):
区分大小写的搜索。 -n 也显示了找到结果的行号。
git grep -n "my regular expression search string"
不区分大小写的搜索(在此处添加-i):
git grep -ni "my case insensitive regular expression search string"
查找函数用法(下面的左括号是可选的)
git grep -n "myFunc("
Grep 进行正则表达式搜索。谷歌了解详情。正则表达式是一种非常强大的方式来进行非常具体的字符串匹配。当您学习基础知识时,请在此处使用此工具练习测试和检查您的正则表达式 (regex) 搜索:https://regex101.com/。
2。使用常规的grep(在任何地方都可以使用,但运行速度比git grep 慢约 100 倍):
除了为 'r'ecursive 添加-r(搜索目录)外,与上面相同。如果您也想关注符号链接,请使用-R 而不是-r。
例子:
区分大小写的搜索。 -n 也显示了找到结果的行号。
grep -rn "my regular expression search string"
不区分大小写的搜索(在此处添加-i):
grep -rni "my case insensitive regular expression search string"
查找函数用法(下面的左括号是可选的)
grep -rn "myFunc("
找到一个函数(按照符号链接:添加-R):
grep -Rn "myFunc("
3。 [推荐] 使用 ripgrep (rg)(在任何地方都可以使用,并且比 grep 和 git grep 都快,这令人难以置信令人印象深刻!)
这是最好最快的选择!
在此处获取 ripgrep:https://github.com/BurntSushi/ripgrep。例如:要在 Linux Ubuntu 18.10 或更高版本上安装,请使用以下安装命令:
sudo apt update && sudo apt install ripgrep
使用示例:
区分大小写的搜索。
rg "my regular expression search string"
不区分大小写的搜索(在此处添加-i):
rg -i "my regular expression search string"
使用-L 关注符号链接:
rg -L "my regular expression search string"
请注意,ripgrep 在终端搜索时会自动显示行号(-n),因此无需添加-n。默认开启!
只需使用管道运算符 (|) 将 find 的输出作为 grep 的输入:
find | grep -ni "my_file_name"
或者,使用-L 和find 跟随符号链接:
find -L | grep -ni "my_file_name"
请注意,上面的 -i 用于不区分大小写的文件名搜索。也将其删除以匹配大小写。
man git grepman grepman find【讨论】: