最近 Ruby を使い始めましたが、リスト出力をオブジェクトに変換して属性にアクセスできるようにする方法はないかと考えています。
もう少し明確にするために、ここに私の出力があります
find ./* -type f | xargs ls -l
-rw-r--r-- 1 ncktrnl staff 0 Sep 4 18:52 ./dir1/file3
-rw-r--r-- 1 ncktrnl staff 0 Sep 4 18:52 ./file1
-rw-r--r-- 1 ncktrnl staff 0 Sep 4 18:52 ./file2
ここで、上記のリストを File または Dir オブジェクトに変換して、属性に簡単にアクセスできるようにします。
例えば:
output = `find ./* -type f | xargs ls -l`
out_arr = output.split("\n")
out_arr.each do |line|
f = File.new(line)
puts "#{f.mtime}" # => prints mtime after parsing the line
end
例として使用File.new
していますが、それがどのように機能するとは思わないので、これを行う方法があるかどうか知りたいと思いました。独自のパーサーを作成できますが、既に存在するものがあるかどうかはわかりません。別のホストでリモート ssh コマンドを実行してリストを取得しているため、実際のファイルのファイル オブジェクトを作成できません。