列出所有不包含特定字符串的文件

时间:2011-09-20 05:51:48

标签: shell scripting

我想知道哪些文件不包含C中的特定头文件。

例如:

file1.c中

#include "stdio.h"
#include "my.h"

...

file2.c中

#include "stdio.h"

...

我想找出不包含#include "my.h"的类似文件(如file2.c)。

2 个答案:

答案 0 :(得分:3)

在Unix系统上:

grep -L '#include.*my\.h' *.c

答案 1 :(得分:1)

shopt -s nullglob
for file in *.c
do
   if grep -q "my.h" "$file" ;then
     continue
   else
      echo "found file that don't have my.h"
   fi
done

或者您可以使用:

grep -L "my.h" *.c

如果您没有其他任何内容可以处理,除了回显文件名。 :)