Posted at

カレントディレクトリ以下の隠しファイル系も含めた全ディレクトリ、ファイルを一覧取得する

More than 1 year has passed since last update.

以下のコマンドと同じリストをrubyで取得したい

% find .

下記リファレンスに記載はあるけど、辿り着くまでが面倒だったのでメモとして記載しておく。

* https://docs.ruby-lang.org/ja/latest/class/Dir.html#S_--5B--5D

ポイント



  • File::FNM_DOTMATCHを利用する。

  • FNM_DOTMATCHを利用すると「xxx」に加えて「xxx/.」のように要らない子も取得されてしまうので、rejectする。

#! /usr/env/ruby

results = Dir.glob("**/*", File::FNM_DOTMATCH).reject{|x| x =~ /\.$/}
results.each do |result|
p result
end