こんにちは、結果よりプロセスが気になってしまういしべです。

置換ができるコマンド・sedはStream Editorの略、
ということを最近知りました。
…sedってEditorなの!? と驚きつつ
普段自分が使っているviの置換と何が違うのか気になるのでまとめてみたよ!
という内容です。

正直どうでも良い内容ですが、良ければお付き合いください。

viの場合

はじめにviでファイルの中身を表示させた後に、

:%s/置換対象の文字列/置換後の文字列/g

で置換します。
8fd7ec15 b802 46fd 99a6 7abc386d4932

ファイル全体から、指定した文字列を探し出し、一気に置換させます。
A777cee8 da3f 424b a742 1466367720bbファイルの内容を確認しながら置換できるので
分かりやすく使いやすいのだと思います。

sedの場合

sed “s/置換対象の文字列/置換後の文字列/g” ファイル名

で置換ができます。
Bab56bee 2cd3 4a13 8351 412f6caa52abこちらは1行ずつ置換していきます。

まず、ファイルの1行が一時的に保存される場所に送られてきます。
この場所をパターンスペースと言います。
パターンスペースで対象の文字列があるか見て、あれば置換して。
残りの行もその繰り返しです。
4ebd073f db3b 41e7 8e54 ee69d7baa9e3
でも、sedはオプションを何もつけないと、
結果を出力した後は元の文に戻ってしまうので注意ですね。
9e2cd057 306a 417b 80a2 e621c6f0fef2
逆にいうと、たくさんのオプションがあって
様々な置換ができるようになっています。
他のコマンドとの組み合わせも可能です。
(これに関しては調べたらたくさん出てくるので、また機会があれば…)

慣れるのが大変ですが、使いこなせるようになると、作業効率もグンと上がるのではないでしょうか。使いこなせるようになってみたいです…!

普段は気にしないことでも、調べてみると奥が深いですね。
それでは、最後まで読んでいただきありがとうございました!

Shere
  • はてなブログ
  • Twitter
  • Facebook
イラスト解説付き☆ vi & sed  文字列が置換されるまで

Writer

  • Name

    いしべ

  • Position

    サーバ周りいじってますと言えるようになりたい人

  • Profile

    教育を専攻していたのに...ゼミのWeb制作を押し付けられたことをきっかけに技術職として入社!?プログラミング未経験のお騒がせ文系女子が繰り広げる、笑いあり涙ありの心温まる成長ストーリー、近日公開!(しません)