2017-10-26 3 views
0

私はこの行とその位置に基づいて文字列を引くことができるこのスクリプトを持っています。 私はそれを1つのファイルで動作させましたが、どのようにしてそれをディレクトリ内のすべてのファイルに対して機能させるのですか?ここでこのスクリプトをディレクトリ内のすべてのファイルに対して機能させるにはどうすればよいですか?

はコードです:

def pull_value(files, line_num, gbegin, gend) 
    File.readlines(files)[line_num][gbegin..gend] 
end 

puts ("some/directory/file.txt", 10, 1, 7) 

答えて

1

あなたはDir.glob("*.txt")を使用することができます。

"* .TXT" 引数はtxt拡張子で現在のディレクトリにのすべてのファイルを意味あります:

def pull_value(files, line_num, gbegin, gend) 
    File.readlines(files)[line_num][gbegin..gend] 
end 

Dir.glob("*.txt").each do |f| 
    pull_value(f, 10, 1, 7) 
end 
+0

ありがとう!コンソールの代わりに出力をファイルに書き込む方法はありますか? –

+0

https://stackoverflow.com/questions/6674327/redirect-all-output-to-file –

+0

次の方法を値を引き出して新しいtxtファイルに書き込む方法はありますか? –

関連する問題