質問編集履歴

3

追記

2015/07/19 11:19

投稿

jollyjoester
jollyjoester

スコア1585

test CHANGED
File without changes
test CHANGED
@@ -81,3 +81,17 @@
81
81
  Mac(BSD)のsedのiコマンドで改行をうまく扱えないのはバグのようでした。2005年のバグが2009年時点でも未解決とコメントされていますが、現在でも未解決のようですね。
82
82
 
83
83
  http://www.linuxquestions.org/questions/programming-9/sed-error-command-c-expects-%5C-followed-by-text-under-os-x-but-works-in-linux-730997/
84
+
85
+
86
+
87
+ [追記3]
88
+
89
+ 多くの皆様に回答していただき、大変感謝です!
90
+
91
+ どの回答も素晴らしく大変勉強になりました。
92
+
93
+ ベストアンサーを選ぶのが苦しかったのですが、shの範囲内でシンプルな書き方のできるedコマンドとsedのsコマンドの回答をベストアンサーにさせていただきました。
94
+
95
+ 個人的にはngyukiさんのsedを使わない別解が好きです^^
96
+
97
+ 実際の現場ではperlの回答を採用することになりそうですw

2

追記

2015/07/19 11:19

投稿

jollyjoester
jollyjoester

スコア1585

test CHANGED
File without changes
test CHANGED
@@ -73,3 +73,11 @@
73
73
  ```
74
74
 
75
75
  そしたらこんなエラーになってしまい、よくわからなかったので上記の回避策になった次第です。
76
+
77
+
78
+
79
+ [追記2]
80
+
81
+ Mac(BSD)のsedのiコマンドで改行をうまく扱えないのはバグのようでした。2005年のバグが2009年時点でも未解決とコメントされていますが、現在でも未解決のようですね。
82
+
83
+ http://www.linuxquestions.org/questions/programming-9/sed-error-command-c-expects-%5C-followed-by-text-under-os-x-but-works-in-linux-730997/

1

追記

2015/07/19 10:57

投稿

jollyjoester
jollyjoester

スコア1585

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,21 @@
55
55
 
56
56
 
57
57
  もっといい方法をご存知の方、どうぞご教授お願いしますm(_ _)m
58
+
59
+
60
+
61
+ [追記]
62
+
63
+ 最初sedでやろうとしたときはこんな感じでやりました。
64
+
65
+ (MacのsedはBSD系ということで-iの後ろの引数にバックアップファイルの拡張子を入れないといけないのですが、バックアップファイルはいらないので""にしてます。)
66
+
67
+ ```
68
+
69
+ $ sed -i "" "1iTitle\n\nmessage : hogehoge\n" sample.txt
70
+
71
+ sed: 1: "1iTitle\n\nmessage : ho ...": command i expects \ followed by text
72
+
73
+ ```
74
+
75
+ そしたらこんなエラーになってしまい、よくわからなかったので上記の回避策になった次第です。