com awk
:
awk '{split($6,a,","); split($7,b,","); for(i in a){print $1,$2,$3,$4,$5,a[i],b[i]}}' file
-
awk
lê o espaço de entrada ou delimitado por tabulações, padrão:[\t ]+
. -
split($6,a,",")
divide o sexto campo$6
separado por vírgula,
e armazena a saída em uma matriz chamadaa
. -
split($7,b,",")
divide o sétimo campo$7
separado por vírgula,
e armazena a saída em uma matriz chamadab
. -
for(i in a)
agora passa pela matriza
...-
print ...,a[i],b[i]
... e imprima os valores$1
a$5
e os dois valores da matriza[i]
eb[i]
pelos seus índicesi
.
-
A saída:
1 2 3 4 5 A1 B1
1 2 3 4 5 A2 B2
1 7 3 3 5 C1 D1
1 7 3 3 5 C2 D2
1 7 3 3 5 C3 D3
1 2 R 4 b E1 G1
1 2 R 4 b E2 G2
1 2 R 4 b E3 G3
1 2 R 4 b E4 G4