回答編集履歴

1

sedの追記

2015/07/19 01:35

投稿

otn
otn

スコア84507

test CHANGED
@@ -1,10 +1,10 @@
1
- ファイルを直接書き換えるなら、あまり一般的では無いですが ed コマンドがあります。
1
+ ファイルを直接書き換えるなら、いまではあまり一般的では無いですが ed コマンドがあります(本来は普通のエディタ)
2
2
 
3
3
  裏で新規ファイルを作らずに元のファイルに上書きします。
4
4
 
5
5
 
6
6
 
7
- ```bash
7
+ ```zsh
8
8
 
9
9
  cat <<EOS | ed sample.txt
10
10
 
@@ -25,3 +25,25 @@
25
25
  EOS
26
26
 
27
27
  ```
28
+
29
+ 補足:
30
+
31
+ もし、ed が無ければ ex でもいいです。
32
+
33
+
34
+
35
+ 追記:
36
+
37
+ いろいろ試しましたが、BSDのsedだとコマンドラインでのiコマンドは無理そうです。
38
+
39
+ iコマンドを使うには、別途sedスクリプトを書いたファイルを作って、sed -f するしかなさそうです。
40
+
41
+
42
+
43
+ iコマンドでなくsコマンドを使ったpi-chanさんの回答をBSD用に書き直すと、
44
+
45
+ ```zsh
46
+
47
+ sed -i "" -e $'1s/^/Title\\\n\\\nmessage : hogehoge\\\n/' sample.txt
48
+
49
+ ```