imprime o valor da primeira linha em cada linha

5

Eu tenho um arquivo com o seguinte formato:

 1.0
 2.0
 3.0
 4.0
 5.0

É possível copiar o valor na primeira linha 1.0 para o início de cada linha no awk? Assim:

 1.0 1.0
 1.0 2.0
 1.0 3.0
 1.0 4.0
 1.0 5.0
    
por Bhavin Chirag 25.12.2017 / 08:43

2 respostas

8
awk 'NR==1 {f=$1} {print f,$1}' file

Saída:

1.0 1.0
1.0 2.0
1.0 3.0
1.0 4.0
1.0 5.0

Se o número da linha atual ( NR ) for 1, salve a coluna 1 ( $1 ) na variável f . Para cada linha, imprima o conteúdo da variável f e o conteúdo da coluna 1.

    
por 25.12.2017 / 08:55
1

Eu fiz isso com o comando sed funcionando como esperado

k='sed -n 1p file';sed "s/^/$k /g" file

saída

1.0 1.0
1.0 2.0
1.0 3.0
1.0 4.0
1.0 5.0
por 25.12.2017 / 10:28