使用 grep 和 wc 命令解决问题

使用 grep 和 wc 命令解决问题

我试图弄清楚如何计算其中file.txt至少有一个数字或数字的行数。

到目前为止,我认为会计算行数:

wc -l filename.txt

然后我认为此grep命令将显示file.txt其中包含至少一位数字的所有行:

grep -E '[0-9]+' list.txt

我如何结合它们来找到我问题的答案?

答案1

尝试

grep -c -E '[0-9]+' list.txt

在哪里

  • -c 代表计数

答案2

grep -c \[0-9] <infile

...这应该就是您所需要的。

答案3

用这个:

grep -rlZ '[0-9]' . | xargs -0 wc -l
  • grepwith-r将递归搜索当前目录中的所有文件
    • -l仅打印至少有一个匹配的文件
    • -Z打印那些由空字节分隔的文件名以应对特殊文件名
    • '[0-9]'在文件中搜索数字
  • xargs -0grep读取由空字节分隔的 文件列表(来自生成的文件)
    • wc -l并要求wc -l他们数数线路。

输出示例:

 3 ./file1
 6 ./dir/file2
 9 total

相关内容