文字の置換 sed


良く忘れるので、メモ( ..)φメモメモ。

sed 's/置換対象/置換後/g' < in.txt > out.txt

文字列を置換したい場合・・・・・ s/置換ルール/置換文字/
パターンスペースの文字をホールドスペースにコピーする・・・・・・g

sedの実行時には一時的に文字を保存しておく必要がある。
その概念的な領域を「パターンスペース」と「ホールドスペース」という。ホールドスペースはパターンスペースの補助領域。

パターンスペース・・・保存される全体のこと。例えば一行目を処理するのなら、一行目全体がパターンスペースに入れられ、その後、パターンスペースに対して置換などの処理が行われる。

ホールドスペース・・・パターンスペースの補助として使われる領域。パターンスペースにある文字を後の処理で利用したい場合は、ホールドスペースへ移動して処理を行った後にホールドスペースからパターンスペースへ戻す。そうすれば続きの処理が行える。

g・・・ホールドスペースの文字列をパターンスペースへコピーする
h・・・パターンスペースをホールドスペースへ
x・・・パターンスペースとホールドスペースを入れ替える

参考ページ