Como anexar a linha anterior à próxima linha em um arquivo se o primeiro caractere de uma linha for | [duplicado]

0

Entrada:

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

Saída necessária:

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
    
por user3535491 02.11.2017 / 13:20

1 resposta

0

Como, de acordo com a tag escolhida, você está no linux, você pode fazê-lo mais simples do que as respostas dadas na questão duplicada, usando a opção -z do GNU sed :

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

-z para processar o arquivo inteiro de uma só vez, depois substitua ( s ) todas as novas linhas ( g ) seguidas por uma barra ( \n| ) apenas com uma barra.

    
por 02.11.2017 / 13:41

Tags