Primeiro, isso está errado:
awk -F" " '{ array3[p]="123" };1' ${array1[$i]}
${array1[$i]}
não é um arquivo, então você não pode simplesmente lançá-lo como primeiro argumento de linha de comando para awk
. Com as variáveis, você teria que usar echo $VARIABLE
ou aqui string <<<
, assim como
awk -F" " '{ array3[p]="123" };1' <<< ${array1[$i]}
Em segundo lugar, há uma questão de escopo. O array3[p]="123"
existe somente no código awk
, portanto você não pode atribuir nada a um fora dele. O que você poderia fazer, no entanto, simplesmente fazer
array3[$p]="123"
Também não está claro de onde exatamente $i
vem do seu script. No geral, sua pergunta nos fornece um pouco de código, mas não fornece pistas para responder totalmente à sua pergunta