Replicar líneas en un archivo de texto según el valor de una columna

Replicar líneas en un archivo de texto según el valor de una columna

Tengo un archivo de texto con una columna que contiene texto/datos seguida de una columna de abundancia, por ejemplo

Coche 3

manzana 2

Para submuestrear estas columnas, me gustaría replicar cada columna de texto por la cantidad de la columna de abundancia, por ejemplo

Coche 1

Coche 1

Coche 1

manzana 1

manzana 1

¿Alguna idea de cómo lograr esto con, por ejemplo, awk?

Respuesta1

Si entiendo bien la pregunta, podrías hacer esto.

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

Encontré un camino más corto

awk '{while($2--)print $1,"1\n"}' file

Respuesta2

intentar

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

dónde

- `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

información relacionada