我目前正在使用Git Bash来浏览文件目录和编辑文件。我想知道是否有一个命令来搜索当前目录及其中的所有目录以获取文件名。
答案 0 :(得分:4)
是的,它附带find utility。要从当前工作目录开始递归搜索名为“somefile.txt”的文件,以下内容应该有效:
find . -name somefile.txt
答案 1 :(得分:4)
如果你在Windows上使用Git Bash,那么'find'可能会指向Windows附带的查找工具,而不是Git Bash提供的工具。 Windows查找工具采用不同的参数,因此上述答案将无效。
为了确保您使用的是Git Bash shell中的Unix find,请键入/ bin / find。现在-name参数将起作用。
答案 2 :(得分:1)
如果你想找到,例如所有包含单词'Test'的java文件名,递归地从当前目录开始,可以使用
git ls-files '*Test*.java'
要搜索其内容包含单词“FIXME”的所有文件,您可以使用
git grep 'FIXME'
答案 3 :(得分:0)
Git Bash是一个bash
shell,因此所有标准的Unix实用程序都可用。标准find
实用程序可以正常工作:
$ find . -name filename.java
会在您的目录/子目录中找到filename.java
。请注意,您必须转义通配符,否则shell本身将解释此情况。
$ find . -name \*.java
会为您提供所有.java
个文件
find
功能强大,但使用起来可能很复杂。查看教程here。
答案 4 :(得分:0)
您只需在git shell上运行此命令:
find / -name 'filename-you-want-search-regex-allowed'
这将搜索文件系统中/
下面的所有文件。