Replicar linhas no arquivo de texto de acordo com um valor de coluna

0

Eu tenho um arquivo de texto com uma coluna contendo texto / dados seguido por uma coluna de abundância, por exemplo

Car 3

Apple 2

Para subamostrar essas colunas, eu gostaria de replicar cada coluna de texto pela quantidade da coluna de abundância, por exemplo

Car 1

Car 1

Car 1

Apple 1

Apple 1

Alguma ideia de como fazer isso com, por exemplo, o awk?

    
por BSP 17.10.2014 / 09:41

2 respostas

1

Se eu entendi a pergunta corretamente, você pode fazer isso

awk '{for(i=0;i<$NF;i++)print $1,"1\n"}' file

Encontrou um caminho mais curto

awk '{while($2--)print $1,"1\n"}' file
    
por 17.10.2014 / 09:52
0

tente

 awk '{ for (i=$2 ; i ; i--) printf "%s 1\n",$1 ; } ' < text

onde

- 'for (i=$2 ; i ; i--)' is a loop that starting from second field value decrease to 1
- 'printf "%s 1\n",$1'  print first field with a 1
    
por 17.10.2014 / 09:54