sed体験。

Linuxツールを浅く広く体験していく人気コーナーの時間です。(ホントは全然人気無し)

L(U)nix使いの人は、テキストの置換は、perlではなく、sedを使う。sedの何が魅力なのかイマイチピンと来ていなかった。perlの方が断然強力じゃないのぉ〜?

僕が知っていたのは、

$ ls -l | sed s/tanaka/root/g   #rootに化けてみた。ふふ。

こんな感じ。至って普通の置換です。sedを使えば、正規表現で置換出来ること位は知ってる。

何故、sedなのか?何故、古典的ツールが現在まで使いつづけられているのか。色々調べてみると、sedの強力さが段々わかってきた。

sedはstream editorの略。つまり、"editor"なのですよ!!

# パターンにマッチした行の削除(delete)
/パターン/d

# パターンにマッチした行の後ろに挿入(append)
/パターン/a\
挿入文字列

# パターンにマッチした行の前に追加 (insert)
/パターン/i\
追加文字列

# パターンにマッチした行を変更(change)
/パターン/c\
変更文字列

つまり、"s"はコマンドの一部の機能でしかない!!やはりL(U)nixツール。桁違いに強力ですねぇ・・・。infoを読もう。

`sed' is a stream editor.(Introductionより)