こんばんは。
最近Rubyでファイルのスクローリングをしているのですが、
以下のようなスクリプトを全てのファイルに適用したいと考えています。

1 fpath = '/home/edinet/E30479/S1002D1W/index.html'
2
3 text = ""
4
5
6 File.open(fpath).each do |f|
7 f.each_line do |line|
8
9 line.gsub!(/前事業年度特定投資株式/,"前事業年度")
10 line.gsub!(/当事業年度特定投資株式/,"当事業年度")
11
12 end
13 end
14
15
16 flag = nil
17 IO.foreach(fpath) do |line2|
18
19 case line2
20 when /保有目的が純投資目的以外/
21 flag = true
22 when /保有目的が純投資目的/
23 flag = false
24 end
25
26 text << line2.chomp if flag == true
27 end


Dir.globなどを使えば良いと思うのですが、具体的にはどのように記述すればよいのでしょうか?
ご教授の程お願い致します。

A 回答 (2件)

あと、このプログラム、なんか変ですよ?



File.open(fpath).each

ここのeachって変ですよね。

f.each_line do |line|
line.gsub!(/前事業年度特定投資株式/,"前事業年度")

ここでの 変数lineに入っているのは、「ファイルから読み込んだ文字列」です。
ファイルの内容をメモリ上にコピーしたものです。
これを変更しても、元のファイルは変更されません。

また、一行読み込む度に次の行の内容になるので、gsubした結果はどこにも残りません。
    • good
    • 0

> Dir.globなどを使えば良いと思うのですが



そう思ったら、マニュアルとかで調べてみましょう。
http://docs.ruby-lang.org/ja/2.1.0/class/Dir.htm …

ディレクトリを再帰的に走査するUnixのコマンドがあります。
「 find 」と言います。
このことを知っていれば、Rubyにも同じようなものは無いか、探してみようと思うはずです。
http://docs.ruby-lang.org/ja/2.1.0/library/find. …

これらを使って見つけたファイル`パスをfpathに代入して、実行するようにします。
このスクリプト全体をループの中に入れてもいいですが、このスクリプトを関数として定義して、fpathは引数として与えるようにするのがよいでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

  • 真面目に働かない同僚への賢い対処法

    皆さんは今の職場に何か悩みがないだろうか。特に人間関係の悩みともなると、それが原因で退職や転職も考えるほど深刻なこともある。「教えて!goo」を見ていても、沢山の仕事の悩みが寄せられている。そんな中で今...

  • 【100均グッズで!】カラフルクレヨンキャンドルを作ってみた

    市販されているキャンドルには、自分好みの色合いや、好きな形状のものなど、なかなかピッタリのものが見つからないという人も多いことだろう。自分で手作りしてみるのもありかもしれないと、そのやり方を「教えて!...

  • 不倫相手に5年ぶりに連絡したらフラれた

    常に世間の大きな関心ごととなる著名人の不貞問題。一般家庭の不倫に対してもそれは同じようで、「教えて!goo」によせられた「人は5年も経つと心は変わってしまうのでしょうか?」という質問には多くの回答が書き込...

  • 【長谷川豊】『名無しです』さんから来たメッセージ

    先日、私が別でやっている連載に対して、極めて分かりやすく、的を射たコメントが来たので是非「教えて!goo」の連載でもシェアしたいと思います。 私は沖縄で起きた痛ましい女性の暴行死事件の記事に関連して、あ...

  • おしゃれは世代を越えて。多様化する死装束の中にはドレスも!?

    日本では亡くなった人間が、現世に禍根を残していると「うらめしや~」というように幽霊になって出てくると言われている。幽霊について伝統的なイメージといえば、頭に巻いた三角の布に、真っ白な死装束、そして足が...

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ