このスクリプト集は、 http://sed.sourceforge.net/sed1line.txt に記載されている sed のレシピ集を実際の実行例を表示できるようにしたものです。
元のレシピ集をより理解しやすくするために、いくつかのレシピを追加しています。
git clone した後、 bin ディレクトリ以下のコマンドを実行してください。どのような結果が表示されるかは、このドキュメントに記載しています。
改行を1つ追加して出力する。
正規表現にマッチした行の下に空行を追加する。bin/sed4.sh も参照のこと。
空行を全部削除する。
改行を1つ追加して出力。ただし、2行以上空行が続く箇所は1行にまとめる。
1行置きに行を削除。
n は1行置きにパターンスペースに読み込むオプション。
正規表現にマッチした行の上に空行を追加する。
x ホールドスペースとパターンスペースを入れ替える
p 現在のパターンスペースを表示する
ここは以下の処理を行っている。
- ホールドスペースとパターンスペースを入れ替え、
- ホールドスペースを表示し、
- そしてパターンスペースを呼び戻す。
bin/sed1.sh も参照のこと。
'=' は行番号を表示する。同一行に表示するわけではないので注意。
行番号を、同一行に左寄せで表示する。
N は次の行をパターンスペースに追加する。
's/[正規表現]/[置換文字列]/' で特定の文字列を置換可能。
つまりここでは、「行1 + 改行 + 行2」というパターンスペースを「行1 + (スペース) + 行2」の形に置換している。