ファイル操作 関数

Ruby関数 ファイル操作

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}」です。"

-ファイル操作, 関数