はじめに
sedコマンドだけで1冊の本が書けてしまうらしく、実際に本も売ってますが
他の本を読むのに忙しく、まだ読んだことがない。。。
なので、実際に疑問に思って試した結果をチップスとして集めていきたいと思います。
空行を削除する
$ sed -e "/^$/d" ham.txt
ヒットする文字列の先頭に#をつけてコメントアウトする
$ cat ham.txt
aaa bbb ccc
$ sed -e 's/^\(aaa .*\)$/#\1/g' ham.txt
#aaa bbb ccc
ファイルを置き換える
このオプションを知る前は下記のような感じでやってました
$ cat text.txt
aaa bbb ccc
$ cp test.txt test.bak
$ cat test.bak | sed -e 's/aaa/zzz/g' > test.txt
$ cat test.txt
zzz bbb ccc
sedコマンドのオプション-i
を使うと下記のようにスマートに
$ cat text.txt
aaa bbb ccc
$ sed -i -e 's/aaa/zzz/g' test.txt
$ cat test.txt
zzz bbb ccc