Como eu posso juntar duas por duas colunas usando shell

4

Eu tenho 10 colunas na minha entrada, por exemplo, e quero minha saída com 5 colunas. Mais especificamente, eu queria juntar as colunas 1 e 2, colunas 3 e 4, colunas 5 e 6, e assim por diante.

Minha entrada é como:

ID01 1 2 0 1 2 0 1 0 
ID02 1 0 1 0 1 0 1 0 
ID03 2 1 0 2 1 0 2 1 
ID04 5 0 5 0 5 2 1 2 

E eu queria minha entrada como:

ID01 12 01 20 10 
ID02 10 10 10 10 
ID03 21 02 10 21 
ID04 50 50 52 12 

Para isso, eu tentei: %código% Mas eu não sabia dividir por dois a dois caracteres / coluna. Meus dados reais têm centenas de milhares de colunas.

    
por Amanda Botelho Alvarenga 09.01.2017 / 18:05

2 respostas

5

Remova todos os outros espaços:

perl -pe 's/ (\S+) / $1/g'
  • \S significa "não espaço em branco".
por 09.01.2017 / 18:09
1

com awk :

awk '{ print $1, $2 $3, $4 $5, $6 $7, $8 $9 }' /path/to/input
    
por 09.01.2017 / 19:04