首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按wc结果分组

按wc结果分组
EN

Stack Overflow用户
提问于 2018-04-02 03:01:02
回答 3查看 168关注 0票数 2

我有一个目录,其中有大约100个文件和子目录,我想知道在当前目录中的每个文件中有多少行包含字符串

我已经试过find . -name '*.h' -exec grep -i 'string' {} +| wc -l

但它显示了我的总数,并没有给我一个文件的计数。我想要一个相当于GROUP BY的东西。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-04-02 03:07:04

也许是wc -l *

或在查找结果中包含wc的for循环

票数 0
EN

Stack Overflow用户

发布于 2018-04-02 03:07:18

可能是这样的:

代码语言:javascript
复制
$ find . -name '*.h' -exec sh -c "echo {}; grep -i 'string' {} | wc -l" \;

或者:

代码语言:javascript
复制
$ find . -name '*.h' -print -exec sh -c "grep -i 'string' {} | wc -l" \;

输出示例:

代码语言:javascript
复制
./1.h
2
./10.h
1
票数 0
EN

Stack Overflow用户

发布于 2018-04-02 03:07:20

试一试

代码语言:javascript
复制
grep -rc "string" base_directory

这应该会给出基目录中每个目录中每个文件的计数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49601607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档