あなたはこのようなものを適用することができます。
while IFS= read -r -d '' fl;do
#your commands here
echo "total lines= $(wc -l <$fl)"
echo "lines without comments= $(wc -l < <(cpp -fpreprocessed -dD -P $fl))"
#Considering that above cpp will return all the lines without the comments.
#more commands
done< <(find linux-4.10.2 -type f -name "*.c" -print0)
PSを:私たちは、ファイル名の区切り文字としてnullを持っており、しばらくはループを読むことにより、すべてのファイル名がどんなに場合、正しく処理されることを保証するために、検索に-print0使用します彼らは特殊文字、スペースを含んで行うなど
PS2:あなたはコメント行がどのように見えるか助言した場合、我々はまた、sed.Seeのような他のツールこの例でそれらを削除することができます。
$ a=$'code\n/*comment1\ncooment2\ncomment3*/\ncode'
$ echo "$a"
code
/*comment1
cooment2
comment3*/
code
$ wc -l <<<"$a"
5
$ sed '/\/\*/,/\*\//d' <<<"$a" #for variables you need <<<, for files just one <
code
code
$ wc -l < <(sed '/\/\*/,/\*\//d' <<<"$a")
2
ます。https:// github.com/AlDanial/cloc – hek2mgl
grep -vは検索を逆転させます。それが助けになるはずです。 –