Tengo un archivo:
AC AF AN
3 0.375 8
3 0.375 8
Quiero la salida como:
AC AF AN
AC=3 AF=0.375 AN=8
AC=3 AF=0.375 AN=8
¿Hay algún comando de Unix para eso?
Respuesta aceptada:
awk '
NR==1 {split($0,a); $1=$1}
NR>1 {for(i=1;i<=NF;i++) $i=a[i]"="$i}
1' OFS='t' yourfile
Explicación:
- divide el primer registro (fila de encabezado) en una matriz, según el separador de campo predeterminado; reasignar
$1
para que el registro se escriba con el nuevo separador de campo de salida - para los registros restantes, recorra los campos anteponiendo cada valor de campo con el elemento de matriz correspondiente al índice de campo, separados por
=
- imprimir registros con tabulador como separador de campo de salida