Como imprimir a próxima linha na linha atual se a próxima linha contiver algum caractere? [duplicado]

0

Se a próxima linha for b , quero adicioná-la à linha AA .

Este é o meu arquivo:

AA  
b  
b  
AA  
b  
AA  
b  
b  
b

Saída desejada:

AA b b  
AA b  
AA b b b

O abaixo é o código que estou tentando.

paste -s -d" " file.txt | awk '{for(i=1;i<=NF;i++){if(i > 1 && $i == "AA")????}}'

Imprimi várias linhas em uma linha e tentei executar o loop até o último campo e ir para a próxima linha se $i for AA . Mas eu não sei o que fazer depois da declaração 'if'.

Alguém pode me ajudar?

    
por user2905046 15.12.2016 / 05:16

1 resposta

1

POSIXLY:

sed -ne '
  /^AA$/b1
  :1
    $!N
    /\nb$/s/\n/ /
    t1
  P;D
' <file
    
por 15.12.2016 / 05:58