查找以数字开头的目录数

ezykj2lf  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(444)

下面是目录中的子目录数?,我现在只考虑以数字开头的目录。
例如,如果我这样做:

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

用于:
食品目录/18740802-pathenon.dat.bz2
食品目录/98740802惠特比修道院.dat.bz2
foo\ u dir/照片\u collect.bz2
结果我会得到3分。如何过滤该目录以获得2(想法:检查项目的第一个字母是否为1-9)?

fcwjkofz

fcwjkofz1#

我会尝试这样的方法:

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

正则表达式解释: / 是linux系统上的目录分隔符。 [0-9] 匹配任意数字。 [^/]* 匹配零个或多个不是目录分隔符的字符。 $ 与行尾匹配。
因此,我们匹配任何以数字开头并且是文件路径中最后一个条目的目录或文件。
附言:是的 -c 辩论 grep 使grep打印匹配行的数目。

相关问题