Bash计数未注释的行,并使用文件名写入输出

Bash计数未注释的行,并使用文件名写入输出,bash,Bash,我想计算多个文件中未注释的行数,并将结果附加到输出文件中 这是我计算多个文件的未注释行的方式,但我不知道如何将结果与文件名一起存储在output.txt文件中 for file in *txt do cat "$file" | sed '/^\s*#/d' | wc -l done 您可以在每行中写入多个内容,并且可以将整个循环的输出重定向到一个文件: for file in *txt do echo -n $file' ' cat "$file" | sed '/^\s*#/d'

我想计算多个文件中未注释的行数,并将结果附加到输出文件中

这是我计算多个文件的未注释行的方式,但我不知道如何将结果与文件名一起存储在output.txt文件中

for file in *txt
do
  cat "$file" | sed '/^\s*#/d' | wc -l
done

您可以在每行中写入多个内容,并且可以将整个循环的输出重定向到一个文件:

for file in *txt
do
  echo -n $file' '
  cat "$file" | sed '/^\s*#/d' | wc -l
done > output.txt
此外,您还可以将文件处理缩短到:

egrep -v '^\s*#' "$file" | wc -l

您可以在每行中写入多个内容,并且可以将整个循环的输出重定向到一个文件:

for file in *txt
do
  echo -n $file' '
  cat "$file" | sed '/^\s*#/d' | wc -l
done > output.txt
此外,您还可以将文件处理缩短到:

egrep -v '^\s*#' "$file" | wc -l