假设您所在的目录包含一些.h文件(但不仅如此),并且还包含一些子目录,这些子目录还包含一些.h文件。
我想知道使用bash命令,在所有.h文件(包括所有子目录)中有多少行包含字符串“int”而不包含“integer”?
我试过:

find . -type f -name "*.h"  -exec grep -c "int" -exec grep -Vc "integer" {} \;

但我没有得到好的答案…有什么建议吗?

最佳答案

find . -type f -name "*.h" -exec grep "int" {} \; | grep -v integer | wc -l
这将在不使用-c的情况下运行grep以查找包含int的所有行,然后运行到grep -v integer的管道,该管道将删除所有带有integer的行。
最后,所有这些行都被传递给wc,后者将计算行数。

关于linux - 有多少行包含字符串“int”而不包含“integer” .h文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52336635/

10-15 01:58