我需要在终端中显示所有带有.c(C 程序文件)的文件,但这样做遇到了问题。
我的想法是使用find
和grep
也许gcc
但我的尝试都没有奏效。我在 Linux 上工作。我不知道文件名。我只是想列出所有文件。
我尝试了以下操作:
ls *.c
find . -type f *.c
答案1
您可以使用
find . -type f -name '*.c'
如果要在当前目录以外的目录中搜索,请使用
find /desired/path/to/search -type f -name '*.c'
反而。
find
为了解释此命令的作用,第一个参数是搜索文件的路径。然后-type f
告诉find
只考虑常规文件。-name '*.c'
告诉find
搜索名称与表达式匹配的文件*.c
(*.c
用引号引起来以防止 shell 扩展*
)。
如果您希望不区分大小写地搜索,请替换-name '*.c'
为-iname '*.c'
(然后将找到带有.c
和文件扩展名的文件)。.C
默认情况下,find
将递归搜索所提供目录的所有子目录。如果您希望限制搜索深度,请使用该-maxdepth
选项。