sedで改行を含めて削除する

2015-06-30T02:09:54+09:00 その他

hoge
fuga
foobar

みたいなデータが合った場合に改行コードも含めて削除したい場合

cat note.txt | sed -z 's/hoge\n//g'

みたいに-zオプションをつかえば出来るっぽい。ヘルプによると

-z: separate lines by NUL characters

っていうNUL文字で行を分割する?っていう感じなのか、つまり上記のデータをそのまま以下のコマンドをやる

cat note.txt| sed -z 's/[\x01-0xFF]/,/g'
# hoge,fuga,foobar,

となる。

余談

-zを使わない場合は

cat note.txt| sed  ':loop; N; $!b loop; ;s/hoge\n//g'

みたいにやっても出来る

終わり。一応メモっておく

Google Cloud Endpoints(Java)のApiTransformer Google Cloud Endpoints(Java)を使ってみた