Usare awk con variabili

x=3 A=`echo $A|awk '{print $x}'` echo $A 

non stampa 3. Come posso usare le variabili con awk *

Passa le variabili da awk con il flag -v .

 x=3 A=`echo $A|awk -vy=$x '{print y}'` echo $A 

Puoi usare le variabili della shell in questo modo: "'$your-shell-variable'" o '$your-shell-variable' . Il primo considera la variabile come stringa, mentre il successivo la considera come numero. Quello che segue è il codice che vuoi:

 x=3 A=`echo $A|awk '{print "'$x'"}'` echo $A 

Uh, che senso ha echeggiare $A ? Crea solo una forchetta e un tubo inutili.

 x=3 A=`awk -vy=$x 'BEGIN {print y}'` echo $A 

E mentre ci sono, questo sembra un modo contorto e costoso per scrivere A=$x 🙂