Rubyでテキストファイルの操作
1.テキストファイルを開く
2.ファイルの結合
3.テキストファイルを行ごとに操作
4.ある文字で文字列を分割して、配列を返す
5.キーボードからの文字列入力
1.テキストファイルを開く
ファイルを読み込んで、1行ごとの要素とした配列を返す
> File.readlines("text003-file-read.txt")
=> ["test1\n", "test2\n", "test3\n", "test4\n"]
test.txtの中身
test1
test2
test3
test4
2.ファイルの結合
テキストファイルtest001.txt、test002.txt、test003.txtを結合する。
結合の際に頭に「----ファイル名----」をつける。
connect.rb
while text=gets(nil) puts("----#{$FILENAME}----") puts(text) end STDERR.puts('終了しました')
実行コマンド
ruby connect.rb test*.txt >test1-2-3.txt
引数test*.txtは、*は0文字以上の文字を指し、test001.txt、test002、test003.txtが含まれる
実行結果
⇒終了しました
connect.rbと同フォルダにtest1-2-3.txtができる
各ファイルの中身
test001.txt
1
2
3
4
5
test002.txt
6
7
8
9
10
test003.txt
11
12
13
14
15
test1-2-3.txt
----test001.txt----
1
2
3
4
5
----test002.txt----
6
7
8
9
10
----test003.txt----
11
12
13
14
15
3.テキストファイルを行ごとに操作
行ごとにブロックとして渡す 文字列を改行文字ごとに分割して1行ずつ取り出す
textにはテキストファイルが入っている。
text.each_line do |line|
lineに対しての処理
end
4.ある文字で文字列を分割して、配列を返す
変数.split("!")
!ごとに分割する
5.キーボードからの文字列入力
getsコマンド
gets.rb
puts "文字を入力:" moji = gets puts "入力した文字は、「#{moji}」です。"