私のテキストファイルは次のとおりです。
This is one
sentence that is broken.
However this is a good one.
And this
one is
somehow, broken into
many.
小文字で始まる行が続くすべての行について、末尾の改行文字を削除したいと思います。
したがって、これは次のようになります。
This is one sentence that is broken.
However this is a good one.
And this one is somehow, broken into many.
どうすればいいですか?
編集:ここには本当に良い答えがありますが、動作する最初の答えを受け入れることを選択しました。そして最も早い。みんなありがとうございます!
ベストアンサー1
そしてawk
:
awk -v ORS= '{print (NR == 1 ? "" : /^[[:lower:]]/ ? " " : RS) $0}
END {if (NR) print RS}'
つまり、各行にレコード区切り文字を追加しないでください(ORSは空です)。しかし、プレフィックス現在行の前のレコード区切り記号です(最初の行ではなく、現在の行が小文字で始まらない場合)。それ以外の場合は、最初の行を除いて先行スペース文字を追加します。