
ruby超初心者です。教えてください。
このようなディレクトリ構造があるとします。
root_dir
|--12_dir
| a.txt
| b.txt
|--23_dir
| a.txt
| b.txt
a.txt, b.txtには、ともに
A=
B=
と書かれているとします。
このとき、root_dir(c:\root_dir)にアクセスして、
12_dir直下のa.txtには、12_dirの最初の文字"1"をとって
A=1
B=(1)
と書き換え、
12_dir直下のb.txtには、12_dirの第2の文字"2"をとって
A=2
B=(2)
と書き換え、
23_dir直下のa.txtには、23_dirの最初の文字"1"をとって
A=2
B=(2)
と書き換え、
23_dir直下のb.txtには、23_dirの第2の文字"3"をとって
A=3
B=(3)
と書き換えるには、Rubyでどのようなプログラムを書けばよいのでしょうか。
なお、実際のファイル数はもっと膨大です。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは
こんなかんじで如何でしょうか?
-----ここから
# coding: windows-31J
ROOT_DIR = 'C:/root_dir'
def add_str(file, char)
File.open('temp.txt', 'w') do |fo|
File.foreach(file) do |line|
line.chomp!
case line
when 'A='; fo.puts "#{line}#{char}"
when 'B='; fo.puts "#{line}(#{char})"
else fo.puts line
end
end
end
File.delete(file)
File.rename('temp.txt', file)
end
Dir.chdir(ROOT_DIR)
Dir.foreach('.') do |subdir|
next if /\.\.?/ =~ subdir
next if File.file?(subdir)
c0 = subdir[0]
c1 = subdir[1]
Dir.chdir(subdir)
add_str('a.txt', c0) if File.exist?('a.txt')
add_str('b.txt', c1) if File.exist?('b.txt')
Dir.chdir('..')
end
-----ここまで
完璧です。感動しました。ヽ(^。^)丿
でも、何やってるのか全然理解できないですが。(;´▽`A``
とりあえず、これから調べて、何やってるかわかるようになれば、少しだけスキルがアップできますね!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
WSLのUbuntuで、Railsのインス...
-
1、Rstudioで回帰直線を求める...
-
Accessで文字列のバイト数読み込み
-
(再質問)エクセルのマクロボ...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理 特定の文字以降を...
-
VBA テキストボックスを選択状...
-
Access VBA エラー2448について
-
verilog HDLについての質問です...
-
指定回数の確認?
-
[コンパイルエラー 修飾子が不...
-
SQLでテキストボックスの文字を...
-
フォーム間でtxtbox値の渡しで...
-
型の値をDataGridViewセルに変換...
-
[Excel VBA] 入力された値に応じて
-
teratermで、ファイル名をinput...
-
プログラムに詳しい人教えてく...
-
アスキー変換 と 逆変換について
-
TEXTファイルを日付・時刻で保存。
-
C++Builder6.0 Memoの表示内容...
-
プログラミングによるオセロゲ...
-
fortranについて
-
分数の計算のプログラミングです。
-
Fileの読み込み処理について
-
フォームのResizeイベントについて
おすすめ情報