shuzo-kino.hateblo.jp
の発展です。
実際のところ
こんなファイルがあったとします。
$ cat sample.txt This is my dog, whose name is Frank. This is my fish, whose name is George. This is my goat, whose name is Adam.
ここで、dogが含まれる行だけ改行を削除するルールを適用する場合、以下のようにします。
$ cat sample.txt | sed -e "N;/dog/s/\n//g" This is my dog, whose name is Frank. This is my fish, whose name is George. This is my goat, whose name is Adam.
基本的には冒頭と同じでよいが、fishは文頭にもってこないといけないと祖先から言い伝えられてきた家庭に生まれた方むけ
$ cat sample.txt | gsed -e "N; s/\n//g; /fish/s/fish/\\nfish/g" This is my dog, whose name is Frank. This is my fish,whose name is George. This is my goat, whose name is Adam.