ファイル (またはファイルのリスト) 内でパターンを検索し、見つかった場合はそのパターンを指定された値に置き換えるスクリプトを探しています。
ご意見は?
ベストアンサー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