2016-09-08 2 views
1

Number of subdirectories in a directory?に続いて、今や数字で始まるディレクトリだけを考慮しようとしています。数字で始まるディレクトリの数を確認する

たとえば、私がしなければ:

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

用:

foo_dir/18740802-Parthenon.dat.bz2

foo_dir/98740802-ウィットビーAbbey.dat.bz2

foo_dir/photos_collect.bz2

私は結果として3つを得るでしょう。そのディレクトリをフィルタリングして2を得る方法(アイデア:アイテムの最初の文字が1-9であることを確認する)?

+0

はい、私は@JefréNにすべての権利を持っています! – gsamaras

+0

良い質問@JefréN。、私はローカルで作成したおもちゃのディレクトリにあなたの答えを適用し、それが働いたので。はい、コマンドはゲートウェイから完全に異なるディレクトリに実行されます! '/ some_dir/foo_dir'のように – gsamaras

+0

を説明します。 –

答えて

3

私はこのような何かをしようとするだろう:

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

正規表現の説明:

/は、Linuxシステム上のディレクトリの区切りです。
[0-9]は任意の数字に一致します。
[^/]*は、ではなく、というディレクトリ区切り文字の0個以上の文字と一致します。
$は、行末と一致します。

したがって、数字で始まる任意のディレクトリまたはファイルに一致し、の最後のファイルパスにというエントリがあります。


PS:-c arguement grep原因に一致する行の数を印刷するgrepします。

関連する問題