首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何计算包含子目录的代码行?

如何计算包含子目录的代码行?
EN

Stack Overflow用户
提问于 2018-03-06 04:18:46
回答 2查看 0关注 0票数 0

假设我想要计算项目中的代码行数。如果所有文件都在同一个目录下,我可以执行:

代码语言:javascript
复制
cat * | wc -l

我怀疑这可能是xargs的工作,但我想知道是否有更好的解决方案呢?

EN

回答 2

Stack Overflow用户

发布于 2018-03-06 12:26:10

首先你不需要cat用来计算线。要计算当前目录中文件的行数,请使用wc

代码语言:javascript
复制
wc -l * 

然后该find命令递归子目录:

代码语言:javascript
复制
find . -name "*.c" -exec wc -l {} \;
  • . 是开始搜索的顶级目录的名称
  • -name "*.c" 是您感兴趣的文件的模式
  • -exec 给出要执行的命令
  • {}是find命令传递给命令的结果(这里wc-l
  • \; 表示命令结束
票数 0
EN

Stack Overflow用户

发布于 2018-03-06 13:38:59

如果你想要一个合理的答案的话:

代码语言:javascript
复制
grep '' -R . | wc -l 

单独使用wc -l的问题是它不能很好地下降,并且使用的是oneliners :

代码语言:javascript
复制
find . -exec wc -l {} \;

不会给你一个总计数,因为它为每个文件(loL!)运行wc一次 :

代码语言:javascript
复制
find . -exec wc -l {} + 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003581

复制
相关文章

相似问题

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