查找以数字开头的目录数

Find number of directories that start with a number

之后,我现在尝试只考虑以数字开头的目录。

例如,如果我这样做:

hadoop fs -ls -R foo_dir | grep "^d" | wc -l

用于:

foo_dir/18740802-Parthenon.dat.bz2

foo_dir/98740802-Whitby Abbey.dat.bz2

foo_dir/photos_collect.bz2

结果我会得到3个。如何过滤那个目录得到2(思路:检查项目首字母是否为1-9)?

我会尝试这样的事情:

... ls -R foo_dir | grep "/[0-9][^/]*$" -c

正则表达式解释:

/ 是 linux 系统上的目录分隔符。
[0-9] 匹配任何数字。
[^/]* 匹配零个或多个 不是 目录分隔符的字符。
$ 匹配行尾。

因此,我们匹配任何以数字开头并且是文件路径中最后条目的目录或文件。


PS: -cgrep 的争论导致 grep 打印匹配行数。