行の最初の文字が[コピー]の場合、ファイルの前の行を次の行に追加する方法

行の最初の文字が[コピー]の場合、ファイルの前の行を次の行に追加する方法

入力する:

MAKTG|MAKTX|MANDT|MATNR|SPRAS
ARALDITE AV 5308
|araldite AV 5308
|910|132252374801|E
HARDER HV 5309
|harder HV 5309
|910|132252374901|E
BAYFLEX 5965 I|Bayflex 5965 I|910|132252380101|E
KUPFERPULVER FEIN 2703|kupferpulver fein 2703|910|132252382701|E

希望の出力:

MAKTG|MAKTX|MANDT|MATNR|SPRAS
ARALDITE AV 5308|araldite AV 5308|910|132252374801|E
HARDER HV 5309|harder HV 5309|910|132252374901|E
BAYFLEX 5965 I|Bayflex 5965 I|910|132252380101|E
KUPFERPULVER FEIN 2703|kupferpulver fein 2703|910|132252382701|E

答え1

選択したタグに応じてLinuxを使用しているため、-zGNUオプションを使用できます。これは質問に与えられた答えを繰り返すよりも簡単ですsed

sed -z 's/\n|/|/g'

-zファイル全体を一度に処理するには、(s)すべての(g)改行の後にセクション(\n|)を1つのセクションに置き換えます。

関連情報