在Git Bash终端中查找文件

问题描述 投票:2回答:5

我目前正在使用Git Bash来浏览文件目录和编辑文件。我想知道是否有一个命令来搜索当前目录及其中的所有目录以获取文件名。

git-bash gnu-findutils
5个回答
5
投票

如果你在Windows上使用Git Bash,那么很可能find将指向Windows附带的查找工具而不是Git Bash提供的工具。 Windows查找工具采用不同的参数,因此上述答案将不起作用。

您可以通过执行which find来验证。如果它指向你的Windows文件夹,它不是Unix工具。

为了确保您使用的是Git Bash shell中的Unix find,请输入/bin/find。现在-name参数将起作用。


4
投票

是的,它附带find utility。要从当前工作目录开始递归搜索名为“somefile.txt”的文件,以下内容应该有效:

find . -name somefile.txt

1
投票

如果你想找到例如所有包含单词'Test'的java文件名,递归地从当前目录开始,即可使用

git ls-files '*Test*.java' 

要搜索其内容包含单词“FIXME”的所有文件,您可以使用

git grep 'FIXME'

0
投票

Git Bash是下面的bash shell,因此所有标准的Unix实用程序都可用。标准的find实用程序可以正常工作:

$ find . -name filename.java 

会在你的目录/子目录中找到filename.java。请注意,您必须转义通配符,否则shell本身将解释此例如

$ find . -name \*.java 

将为您提供所有.java文件

find功能强大,但使用起来可能很复杂。查看教程here


0
投票

您只需在git shell上运行此命令:

find / -name 'filename-you-want-search-regex-allowed'

这将在文件系统中搜索/下面的所有文件。

© www.soinside.com 2019 - 2024. All rights reserved.