Nwlapcug.com


Come passare le variabili della Shell AWK

Come passare le variabili della Shell AWK


AWK è un estrazione dati Unix e reporting utilità con un proprio linguaggio di scripting che esegue manipolazione e trasformazione di dati testuali e uscite report formattati; l'input viene da file o dati di input standard. AWK è un utile strumento per fornire ulteriore filtraggio dei dati e gestione in una pipeline Unix. AWK generalmente prende in ingresso da riga di comando, ma occasionalmente le variabili passate in uno script possono essere utilizzate dall'utilità per eseguire le sue azioni. AWK è utile per la trasformazione di dati passati da shell Unix.

Istruzioni

1

Creare uno script di shell chiamato "awkparam.sh" e renderlo eseguibile nella riga di comando digitando:

awkparam.sh; chmod + x awkparam.sh

Questo crea un file di script vuoto nella directory corrente con autorizzazioni eseguibile.

2

Modificare e salvare lo script di shell con editor di testo preferito yout e inserire questi comandi:

var = test

Eco $var | awk '{print $var}'

Questo porterà il valore della variabile "var" e il valore di uscita, in questo caso il valore è "test". Eseguire lo script da riga di comando con:

./awkparam.sh

Questo restituisce il valore della variabile stored, "test".

3

Modificare lo script di awkparam.sh nuovamente, ma questa volta immettere i seguenti comandi e salvarlo:

var = $1

var2 = $2

echo "$var $var2" | awk '{print $1 $2}'

Ora è possibile eseguire il comando dalla riga di comando con:

./awkparam.sh test test2

Questo visualizzerà il valore:

test test2

sullo schermo. In questo caso Awk ha preso le variabili salvate, "var" e "var2" e li ha convertiti in rappresentazione interna, utilizzando i parametri di stampa di $1 e $2.

Consigli & Avvertenze

  • Distinguere tra i parametri ($1, $2 ecc.) passato a uno script di shell dai valori di $1, $2 nella riga di comando di AWK utilizzando il comando "stampa". Essi hanno significati diversi, in quanto $1, $2 passati in uno script di shell sono parametri esterni, ma in un AWK si riferiscono alla posizione dei campi passati ad esso, come ad esempio "test test2." comando "stampa" Esperimento per te per vedere come funzionano in pratica.