假设我要计算项目中的代码行数。如果所有文件都在同一目录中,则可以执行:
cat * | wc -l
但是,如果有子目录,则无法使用。为此,cat必须具有递归模式。我怀疑这可能是xargs的工作,但我想知道是否还有更优雅的解决方案?
首先,您不需要使用cat
行数。这是一种称为猫的无用使用(UUoC)的反模式。要计算当前目录中文件的行数,请使用wc
:
wc -l *
然后,该find
命令递归子目录:
find . -name "*.c" -exec wc -l {} \;
.
是要从中开始搜索的顶层目录的名称
-name "*.c"
是您感兴趣的文件的模式
-exec
给出要执行的命令
{}
是find命令传递到命令的结果(在此处wc-l
)
\;
指示命令结束
此命令生成所有找到的文件及其行数的列表,如果要获得 所有
找到的文件的总和,可以使用find列出文件(带有-print
选项),然后使用xargs将此列表作为参数传递去WC-L。
find . -name "*.c" -print | xargs wc -l
编辑以解决Robert
Gamble的评论(谢谢):如果文件名中包含空格或换行符(!),则必须使用-print0
option代替-print
and,xargs -null
以便文件名列表与以空终止的字符串交换。
find . -name "*.c" -print0 | xargs -0 wc -l
Unix的哲学是拥有只做一件事并且做得很好的工具。
问题内容: 由于上次我并未真正提出正确的要求,因此我尝试对此问题进行一些细化。我本质上是在做这个查询: 其中## / ## / 是同一天。本质上,此查询旨在查找任何给定日期的“未结”订单数。唯一的问题是,我想在一年或一天的每一天中都这样做。我想如果我知道如何将## / / ####定义为变量,然后将计数按该变量分组,那么我可以使它起作用,但我不确定如何做到这一点- 或在那里也可能是另一种方式。我目
问题内容: 默认情况下,在构建过程中,maven会删除空目录。 您是否知道可以在pom中指定一个参数来指示maven在生成的target / test-classes文件夹中包括空目录? 问题答案: 根据票证MRESOURCES-36,应该有一个元素,但仅适用于 Maven Resources Plugin 2.3 。 对于包含旧版资源插件的Maven版本: 在此问题解决之前,这是我一直在成功使用
问题内容: 我需要计算两个日期之间的营业日。例如:我们7月4日放假。所以如果我的日期是date1 = 07/03/2012 date2 = 07/06/2012 由于7月4日为节假日,因此,这些日期的黑白工作日应该为1。 我有一种下面的方法来计算工作日,该工作日仅计算周末,而不计算假期。还有什么方法可以计算假期吗....请帮我。 问题答案: 假设您有一个包含所有假期的列表。 只需在您的条件中添加条
问题内容: 我有一个JTextArea,我为此设置了自动换行和自动换行的单词。我想将JTextArea“打包”到指定宽度的最小可能高度。 为此,我计划使用…计算字体的高度。 …然后将其乘以JTextArea中使用的行数。问题是JTextArea.getLineCount()计算返回的行数而忽略换行。 如何计算JTextArea中使用的行数,包括由自动换行引起的行数? 这里有一些演示代码,可以使解决
问题内容: 下面是两行。 第一行 是的两个项目和的一个项目。 第二行 是中的两项。 根据规范 1A + 1B = 2A 但是,当计算中包括 填充 时,总和是不正确的,如下面的示例所示。 题 如何使flex box在其计算中包括填充,以使示例中的box正确排列? 问题答案: 解决方案: 设置子元素,而不是在你的项目。 问题: 计算不使用。所以; 添加到元素并不能按照规范为您提供预期的宽度 。 例如,
问题内容: 是否可以在html中一次包含多个CSS?确切地说,是否可以一次性包含放置在目录中的所有CSS? 就像目前我们所做的是: 我需要类似的东西: 可能吗?还是有其他选择吗? 问题答案: 您可以创建一个包含在每个页面中的主样式表,并且可以在该css文件中包含其他样式表。 这并不能解决必须手动包含每个单独的css文件的问题,但是至少它将其封装在主样式表中,因此您不必在每个html文件中重复所有引