• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:{Ruby}ディレクトリ内の全てのファイルを操作)

{Ruby}ディレクトリ内の全てのファイルを操作する方法

このQ&Aのポイント
  • Rubyを使用してディレクトリ内の全てのファイルを操作する方法について教えてください。
  • ファイルのスクローリングをRubyで行っており、特定のテキストを置換したいと考えています。
  • 具体的なスクリプトを提供していただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

あと、このプログラム、なんか変ですよ? File.open(fpath).each ここのeachって変ですよね。 f.each_line do |line| line.gsub!(/前事業年度特定投資株式/,"前事業年度") ここでの 変数lineに入っているのは、「ファイルから読み込んだ文字列」です。 ファイルの内容をメモリ上にコピーしたものです。 これを変更しても、元のファイルは変更されません。 また、一行読み込む度に次の行の内容になるので、gsubした結果はどこにも残りません。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

> Dir.globなどを使えば良いと思うのですが そう思ったら、マニュアルとかで調べてみましょう。 http://docs.ruby-lang.org/ja/2.1.0/class/Dir.html#S_--5B--5D ディレクトリを再帰的に走査するUnixのコマンドがあります。 「 find 」と言います。 このことを知っていれば、Rubyにも同じようなものは無いか、探してみようと思うはずです。 http://docs.ruby-lang.org/ja/2.1.0/library/find.html これらを使って見つけたファイル`パスをfpathに代入して、実行するようにします。 このスクリプト全体をループの中に入れてもいいですが、このスクリプトを関数として定義して、fpathは引数として与えるようにするのがよいでしょう。

関連するQ&A