Como reorganizo ou reorganizo a saída abaixo?

2

Aqui no meu INPUT :

0015:"IDPTS3O"  
0091:"ODMBS1I"  
0015:"IDPTS3O"  
0091:"ODMBS1I"  
0015:"IDPTS3O"  
0091:"ODMBS1I"  
0015:"IDPTS3O"  
0034:"ADTSS1I"  
0015:"IDPTS3O"  
0034:"ADTSS1I"  
0015:"IDPTS3O"  
0034:"ADTSS1I"  
0015:"IDPTS3O"  
0036:"ADTSS2I"  
0015:"IDPTS3O"  
0036:"ADTSS2I"  
0015:"IDPTS3O"  
0036:"ADTSS2I"  
0015:"IDPTS3O"  
0034:"ADTSS1I"  
0015:"IDPTS3O"  
0034:"ADTSS1I"  
0015:"IDPTS3O"  
0034:"ADTSS1I"  
0015:"IDPTS3O"  
0036:"ADTSS2I"  
0015:"IDPTS3O"  
0036:"ADTSS2I"  
0015:"IDPTS3O"  
0036:"ADTSS2I"  

Eu gostaria que o OUTPUT fosse exibido da seguinte forma: O " O " terminando juntos e o " I " termina juntos no mesmo coluna

0015:"IDPTS3O"  0091:"ODMBS1I"
0015:"IDPTS3O"  0091:"ODMBS1I"
0015:"IDPTS3O"  0091:"ODMBS1I"
0015:"IDPTS3O"  0034:"ADTSS1I"
.
.
.
    
por Chydo 14.10.2014 / 12:01

3 respostas

4

O comando paste combina linhas de vários arquivos de entrada em um arquivo com várias colunas, uma de cada arquivo.

Ele pode ser usado para combinar linhas do mesmo arquivo em um arquivo com várias colunas, de modo que as linhas consecutivas acabem em colunas consecutivas na saída.

A ideia é usar uma entrada várias vezes para cada linha, em vez de múltiplas entradas. É melhor ler a partir da entrada padrão e usar - , que representa a entrada padrão como um arquivo de entrada, várias vezes:

<filename paste -d ' ' - -
  • <filenamefilename para entrada padrão
  • -d ' ' define o separador entre colunas para um espaço, em vez do padrão, uma guia.
  • - - representa duas vezes a entrada padrão como o arquivo de entrada um e dois, portanto, para cada linha, a entrada padrão é lida duas vezes, criando a primeira e a segunda coluna.
por 14.10.2014 / 12:27
3

Embora a maneira canônica de resolver esse problema envolva paste , aqui eu ofereço uma alternativa awk em que o separador de registro de saída é definido como um espaço em ímpar e nova linha em linhas pares

awk '{ORS=NR%2?" ":"\n";print}' file
    
por 14.10.2014 / 14:53
2

Sinta-se à vontade para experimentar:

paste -d " " - - < filename
    
por 14.10.2014 / 12:09