Como encontrar e se juntar a uma string quebrada

0

Eu tenho uma tarefa para pesquisar e participar de strings quebradas em arquivos de configuração em vários servidores:

O arquivo de configuração contém muitos parâmetros e uma seção dele tem poucas linhas quebradas, que precisam ser unidas.

As strings quebradas no arquivo de configuração são como a segunda e a terceira linha no exemplo abaixo:

rconfigure En32zrt 10.xx.xx.xx/24
rconfigure 
En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx/24

E deve parecer que eu preciso juntar a segunda e a terceira linha do exemplo acima para se parecer com:

rconfigure En32zrt 10.xx.xx.xx/24
rconfigure En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx/24

Espero que eu seja claro. Por favor, informe.

Editar : Strings não estão necessariamente terminando com / 24. poderia ser assim também:

rconfigure En32zrt 10.xx.xx.xx
    rconfigure 
    En32zrt 10.10.xx.xx/24
    rconfigure En32zrt 10.xx.xx.xx

Qual deve ser alterado para:

rconfigure En32zrt 10.xx.xx.xx
rconfigure En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx
    
por Vikas Thakur 18.10.2016 / 11:21

1 resposta

0

Se você souber que todas as linhas de saída devem conter exatamente três palavras como no OP, você pode fazer:

tr ' \t' '\n' <some_file |
grep -v '^$' |
paste -d ' ' - - -

Notas:

  • tr transforma qualquer separador de espaço em branco em novas linhas
  • grep remove linhas vazias
  • após grep , você é deixado com uma lista de palavras, cada uma na sua própria linha
  • paste combina repetidamente 3 linhas em uma usando o separador fornecido
por 18.10.2016 / 16:46