teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

sedの追記

2015/07/19 01:35

投稿

otn
otn

スコア86349

answer CHANGED
@@ -1,7 +1,7 @@
1
- ファイルを直接書き換えるなら、あまり一般的では無いですが ed コマンドがあります。
1
+ ファイルを直接書き換えるなら、いまではあまり一般的では無いですが ed コマンドがあります(本来は普通のエディタ)
2
2
  裏で新規ファイルを作らずに元のファイルに上書きします。
3
3
 
4
- ```bash
4
+ ```zsh
5
5
  cat <<EOS | ed sample.txt
6
6
  0a
7
7
  Title
@@ -11,4 +11,15 @@
11
11
  .
12
12
  wq
13
13
  EOS
14
+ ```
15
+ 補足:
16
+ もし、ed が無ければ ex でもいいです。
17
+
18
+ 追記:
19
+ いろいろ試しましたが、BSDのsedだとコマンドラインでのiコマンドは無理そうです。
20
+ iコマンドを使うには、別途sedスクリプトを書いたファイルを作って、sed -f するしかなさそうです。
21
+
22
+ iコマンドでなくsコマンドを使ったpi-chanさんの回答をBSD用に書き直すと、
23
+ ```zsh
24
+ sed -i "" -e $'1s/^/Title\\\n\\\nmessage : hogehoge\\\n/' sample.txt
14
25
  ```