初めて sed を使用してこのような複雑な置換を実行しました。何かを思いつくのに約2時間かかりました:D
私は GNU を使用sed
しました。Mac で 1 行で分岐を機能させることができなかったからです。
テストに使用した入力コンテンツは次のとおりです。
The dog chased after a ball
that was thrown by its owner.
The ball
travelled quite far.
I took me a while to fix this file.
And now it's
working :)
次に、sed
私が思いついたコマンドラインは次のとおりです。
$ sed -n '/^$/!bstore;/^$/N;s/\n\([a-z]\)/ \1/;tmerge;h;d;:store;H;b;:merge;H;g;s/\n \([a-z]\)/ \1/;p;s/.*//g;h;d' sentences.txt
出力は次のとおりです。
$ sed -n '/^$/!bstore;/^$/N;s/\n\([a-z]\)/ \1/;tmerge;h;d;:store;H;b;:merge;H;g;s/\n \([a-z]\)/ \1/;p;s/.*//g;h;d' sentences.txt
The dog chased after a ball that was thrown by its owner.
The ball travelled quite far.
I took me a while to fix this file.
And now it's working :)
最初に空の行が挿入されていることがわかりますが、それで問題ないと思います。sed
これは初心者の撮影なので、マスターしている場合はコメントしてください。