LoginSignup
0
0

More than 3 years have passed since last update.

Chefにて改行コードを\r\nに変換するレシピ

Last updated at Posted at 2019-07-09

\nを\r\nに変換する。

以下の様なレシピで可能と思える。

file '/tmp/abc' do
  content lazy {
    File.read(path).gsub(/\r?\n/, "\r\n")
  }
end

想定使用ケース

gitでは改行コードとして\nを用い、そのファイルをWindowsなどにcookbook_fileを用いて配布する場合などに、合わせて使用することを想定。

考慮事項

  • マルチバイト文字中に\nがあった場合は考慮していない。(\nが文字中に現れることはありえるのだろうか。。)
  • ?を用いて冪等性を担保。
  • OhaiよりWindows環境なら実行などの条件があればbetterか。

検討事項

  • FileEditに行を分割させればマルチバイトでも大丈夫か?
  • 対象システムにnkfが入っているor入れても良いならnkf -Lwなども使えそう。
  • each_lineやFile.readlines("foo").each { |line| ... } などは\r\nをどう扱うのか要確認。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0