こんばんは。
最近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などを使えば良いと思うのですが、具体的にはどのように記述すればよいのでしょうか?
ご教授の程お願い致します。
No.1
- 回答日時:
> 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は引数として与えるようにするのがよいでしょう。
No.2ベストアンサー
- 回答日時:
あと、このプログラム、なんか変ですよ?
File.open(fpath).each
ここのeachって変ですよね。
f.each_line do |line|
line.gsub!(/前事業年度特定投資株式/,"前事業年度")
ここでの 変数lineに入っているのは、「ファイルから読み込んだ文字列」です。
ファイルの内容をメモリ上にコピーしたものです。
これを変更しても、元のファイルは変更されません。
また、一行読み込む度に次の行の内容になるので、gsubした結果はどこにも残りません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビーリアルのユーザー名を変え...
-
Ruby on railsをrails sで立ち...
-
VBScriptでExcel(2019)上のデー...
-
100万件越えCSVから条件を満た...
-
C言語の入力した文字を反転させ...
-
英数字を含む文字列(0-9,A-Z)...
-
秀丸エディタで、同じ記号で囲...
-
(再質問)エクセルのマクロボ...
-
pandasでsqlite3にテーブル作成...
-
pythonエラー
-
電子書籍作成、epubファイルの...
-
A4 持ち込み
-
前回の質問の続き
-
あせんうぶり言語
-
これらは書誌情報だと思うので...
-
情報の表現。()内がどうしても...
-
pythonのerrorコード
-
三項でたとえば交換って
-
WinSCPで画像のように puttyを...
-
パソコンのスクリーンセーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ruby 正規表現で特定の文字を取...
-
Ruby 正規表現と置換
-
Rubyにおける、XPathの関数「te...
-
Rubyの正規表現、文字の追加
-
Ruby 改行文字の挿入
-
バッチ処理 特定の文字以降を...
-
VBAでcsvファイルもシートもあ...
-
Excelマクロ 空白セルを無視し...
-
ダブルコーテーション付きでCSV...
-
【ExcelVBA】300万件越えCSVか...
-
ファイル名を変数で書きこむfwr...
-
VBA テキストボックスを選択状...
-
[コンパイルエラー 修飾子が不...
-
fortranでNAのあるデータを読み...
-
SQLファイルの読み込み
-
複数のファイルをまたぐエクセ...
-
teratermで、ファイル名をinput...
-
VB.netでShellExecuteがしたい
-
VBAで複数のCSVからレコードセ...
-
Fortran:列数の分からないデー...
おすすめ情報