如何递归wc命令?

时间:2010-08-24 16:08:43

标签: linux

让它在子目录中计算* .h * .cpp。

4 个答案:

答案 0 :(得分:5)

如果您希望每个文件分开:

find -type f \( -name "*.h" -o -name "*.cpp" \) -exec wc {} \;

如果你想要累计总和:

find -type f \( -name "*.h" -o -name "*.cpp" \) -exec cat {} \; | wc -l

答案 1 :(得分:2)

bash 4

shopt -s globstar
wc **/*.{cpp,h}

答案 2 :(得分:1)

我认为findxargs更清晰,更容易使用而不是find -exec,但它是风格选择。

find . -name "*.h" -or -name "*.cpp" | xargs wc

答案 3 :(得分:0)

使用zsh而不是bash:

wc **/*.(cpp|h)

这将扩展到当前目录和所有子目录中的所有.cpp和.h文件。