Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック第9章1節練習問題

練習問題9.1a HTML文書の処理

sedを使って処理していたが、使い方がよくわからないのでメモしておく。

sed -nのオプションでパターンスペースの抑制を行うとはどういうことか。パターンスペースとは入力から受け取った行1つを一時的に保存して処理を行い、出力するための領域のことらしい。出力までの動作は自動で行われ、しかも1行分の入力しか保存できないためふつうは行をまたいだ処理ができない。行またぎの処理を行うには出力動作を抑制して入力をいくらでもため込めるようにするオプションである -n をつける必要がある。ただし -n をつけただけでは何も出力されなくなってしまうので最後にpをつけてすべてまとめて吐き出させる必要がある。