ファイルテキスト内のパターンを検索し、それを特定の値に置き換える方法 質問する

ファイルテキスト内のパターンを検索し、それを特定の値に置き換える方法 質問する

ファイル (またはファイルのリスト) 内でパターンを検索し、見つかった場合はそのパターンを指定された値に置き換えるスクリプトを探しています。

ご意見は?

ベストアンサー1

免責事項: このアプローチは、Ruby の能力を素朴に表現したものであり、ファイル内の文字列を置換するための実用レベルのソリューションではありません。クラッシュ、割り込み、ディスクがいっぱいになった場合にデータが失われるなど、さまざまな障害シナリオが発生する可能性があります。このコードは、すべてのデータをバックアップする簡単な 1 回限りのスクリプト以外には適していません。そのため、このコードをプログラムにコピーしないでください。

これを行う簡単な方法は次のとおりです。

file_names = ['foo.txt', 'bar.txt']

file_names.each do |file_name|
  text = File.read(file_name)
  new_contents = text.gsub(/search_regexp/, "replacement string")

  # To merely print the contents of the file, use:
  puts new_contents

  # To write changes to the file, use:
  File.open(file_name, "w") {|file| file.puts new_contents }
end

おすすめ記事