Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

sedの行頭・末尾一致を単体使うと定型文にコメントを入れる処理を楽にできる

ドキュメント中のコメントに

  $$   hoge   $$
  $$   huga   $$

なんて出力をしたい場合、
今迄は一行毎に

$ echo  '  $$   hoge   $$'
$ echo  '  $$   huga   $$'

とやるか、ヒアドキュメントで

$ cat << 'EOS'
>   $$   hoge   $$
>   $$   huga   $$
> EOS

なんてやってました。
毎回毎回、定型文直書きはどうも美しく無いなぁと思っていたのですが...
とあるbashスクリプトを眺めていたら使えそうな表現を発見

$ printf 'hoge\nhuga\n' | sed -e 's/^/  $$   /' -e 's/$/   $$/'
  $$   hoge   $$
  $$   huga   $$

みてみれば当たり前ですが...

  1. 必要な文字列をくっつける
  2. 頭と尻尾にテンプレをsedでくっ付ける

とやれば良かったのですね...