テキストの「ブロック」を、ファイルの先頭、改行、またはファイルの終わりの間のすべての行として定義します。
block1
block2
block3
anotherblock4
anotherblock5
anotherblock6
lastblock7
lastblock8
どのテキストもブロックを占めることができます-どの行がそこにあるかは不明です。2番目のブロックに改行を挿入するシェルスクリプトを作成しようとしましたが、sedは改行を操作するのが好きではないため、このsedワンライナーをハッキングしました。
sed -n "H;\${g;s/\n\n/\nTEST\n\n/2;p}"
これにより、次のようになります。
[newline]
block1
block2
block3
anotherblock4
anotherblock5
anotherblock6
TEST
lastblock7
lastblock8
問題は、バッファの先頭に改行を追加することです(StackOverflowのマークアップでは表示できないため、[newline]とマークされています)別のツールまたは別の正規表現を使用してそれを行う別の方法はありますか?