AIX Unix Replicar dados referenciando uma variável

0

Estou usando o unix no AIX.

Eu quero saber se existe uma maneira na qual eu possa replicar linhas de dados dentro de um arquivo existente ou lendo do arquivo a e os resultados em arquivo b , ou dentro de uma tabela temporária por um número "variável" de vezes.

Exemplo com 2 linhas.

Product Number|Pick Qty|Unit of Issue|
13011|5|C|
566666|2|I|

O resultado que eu estou depois é usar o valor Pick Qty como a variável de multiplicação. (Esse valor de Escolher Qty sempre estará na mesma posição dentro do arquivo ou coluna em uma tabela.)

13011|5|C|
13011|5|C|
13011|5|C|
13011|5|C|
13011|5|C|
566666|2|I|
566666|2|I|
    
por Christian 10.05.2018 / 04:02

1 resposta

1

tente

awk -F\| 'NR==1 {print} NR>1{for(i=$2;i>0;i--) print}' file_a > file_b

onde

  • -F\| use | como separador (você deve escapar)
  • NR==1 {print} cabeçalho de impressão (primeira linha)
  • NR>1{for(i=$2;i>0;i--) print} para toda a linha restante, imprima em seguida $2 time.
por 10.05.2018 / 09:15