Linux 查找以数字开头的目录数
接下来,我现在尝试只考虑以数字开头的目录 例如,如果我这样做:Linux 查找以数字开头的目录数,linux,unix,hadoop,terminal,filesystems,Linux,Unix,Hadoop,Terminal,Filesystems,接下来,我现在尝试只考虑以数字开头的目录 例如,如果我这样做: hadoop fs -ls -R foo_dir | grep "^d" | wc -l 用于: foo_dir/18740802-pathenon.dat.bz2 foo_dir/98740802 Whitby Abbey.dat.bz2 foo_dir/photos_collect.bz2 结果我会得到3分。如何筛选该目录以获得2(想法:检查项目的第一个字母是否为1-9)?我会尝试以下方法: ... ls
hadoop fs -ls -R foo_dir | grep "^d" | wc -l
用于:
foo_dir/18740802-pathenon.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:指向
grep
的-c
参数导致grep打印匹配行数。是的,我对@JefréN的所有内容都拥有完全的权限。!问得好@JefréN.,因为我确实在本地创建的玩具目录中应用了您的答案,并且成功了。是的,该命令从网关执行到一个完全不同的目录!比如/some_dir/foo_dir
给出了解释。谢谢@JefréN,你就是炸弹,没有你不可能做到!干杯谢谢#快速膨胀:D