grep只搜索.c文件的内容不匹配.o文件
时间: 2024-04-15 11:31:30 浏览: 118
你可以使用grep
命令的-r
选项来递归搜索文件夹中的所有文件,并通过--include
选项指定只搜索.c
文件。同时,你可以使用--exclude
选项指定不搜索.o
文件。以下是一个示例命令:
grep -r --include "*.c" --exclude "*.o" "your_pattern" /path/to/directory
在这个命令中,将your_pattern
替换为你要搜索的内容,/path/to/directory
替换为你要搜索的文件夹路径。这样,grep
命令将会递归搜索.c
文件,而跳过.o
文件。
相关问题
grep -c 和grep -o
grep -c和grep -o是grep命令的两个常用选项。 grep -c选项用于计算匹配到的行数,不显示匹配到的具体内容。 grep -o选项用于只显示匹配到的具体内容,不显示匹配到的行数。 例如,假设我们有一个文件file.txt,其中包含以下内容:
hello world
hello grep
grep is powerful
如果我们运行命令grep -c "hello" file.txt
,则输出为2,因为文件中共有两行包含"hello"。
如果我们运行命令grep -o "grep" file.txt
,则输出为:
grep
grep
因为文件中共有两个"grep"。
Linux指令:在目录a下搜索,所有.h和.cpp和.c文件中,出现的字符串“config”的文件和位置
在Linux中,你可以使用grep
命令配合find
命令来完成这个任务。假设你想要搜索directory_a
下所有.h
, .cpp
, 和 .c
文件中包含字符串"config"的行,你可以按照以下步骤执行:
find directory_a \( -name "*.h" -o -name "*.cpp" -o -name "*.c" \) -exec grep -H "config" {} \;
这里解释一下各个部分:
find directory_a
: 找寻从directory_a
开始的所有路径。-name "*.h" -o -name "*.cpp" -o -name "*.c"
: 指定我们要搜索的文件类型,-o
表示或者。-exec grep -H "config" {} \;
: 对找到的每个文件执行grep
命令,-H
表示高亮显示匹配行,{}
代表find
命令找到的文件,\;
表示命令结束。
执行上述命令后,你会看到所有符合条件的文件及其所在行的输出,每一行都包含了文件名以及包含"config"字符串的具体行。
相关推荐

















