LoginSignup
92
85

More than 5 years have passed since last update.

[Linux]コマンドでファイルに行の挿入をする方法

Last updated at Posted at 2013-05-04

echoとリダイレクトを組み合わせると、ファイルを開かずとも行の挿入をしてくれるわけでして、

$ echo hogehoge >> temp.txt

なんてすると、行末に"hogehoge"という文字を挿入してくれるので、*sh スクリプト書くときとかに便利だったりします。私は書いたことありませんが(ぇ

んで、echoで行末に挿入できるんなら、指定した行に任意文字列を挿入する方法もあるんじゃね?なんて思って数か月、調べずにほったらかしにしていたのをGW何の予定もないことをいいことに調べてみました。「linux 行 挿入 コマンド」でグーグル先生に尋ねるとあっさり答えが。google先生曰く「sedコマンドを使うがよい」とご教授いただいたので、メモ。

$ echo hogehoge >> temp.txt
$ echo fugafuga >> temp.txt
$ cat temp.txt
hogehoge
fugafuga
$ sed -i -e "2i fooobaaa" temp.txt
$ cat temp.txt
hogehoge
fooobaaa
fugafuga

sed は行挿入コマンドではなくて、文字列置換コマンドですので、ファイル整形はお手の物。色々な使い方があるみたいですので、ご興味をもたれた方は調べてみてはいかがでしょうか。


参考サイト:

ある文字列をファイルの特定行に挿入するコマンド - 元RX-7乗りの適当な日々 http://goo.gl/kqXRD

sedコマンドでファイルを上書き編集 - OpenGroove http://goo.gl/LfaJP

92
85
1

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
92
85