Wie awk Shell-Variablen übergeben

May 30

AWK ist eine Unix-Datenextraktion und reporting-Programm mit eine eigene Skriptsprache, die ausführt, Manipulation und Transformation von Textdaten und Ausgänge formatierte Berichte; die Eingabe kommt von Dateien oder standard-Eingabe-Daten. AWK ist ein nützliches Tool zum Bereitstellen von zusätzlichen Filtern von Daten und die Behandlung in einer Unix-Pipeline. AWK im Allgemeinen nimmt die Eingabe über die Befehlszeile Shell, aber gelegentlich können Variablen an ein Script übergeben vom Dienstprogramm verwendet werden, um seine Aktionen auszuführen. AWK ist nützlich zum Transformieren von Daten aus der Unix-Shell übergeben.

Anweisungen

1 Erstellen Sie ein Shellskript namens "awkparam.sh" und machen Sie es ausführbar in die Befehlszeile eingeben:

awkparam.sh; Chmod + x awkparam.sh

Dies erstellt eine leere Skriptdatei im aktuellen Verzeichnis mit Ausführungsberechtigungen.

2 Bearbeiten Sie und speichern Sie das Shell-Skript mit Yout bevorzugten Text-Editor und platzieren Sie diese Befehle hinein:

Var Test =

$var Echo | Awk '{Print $var}'

Dies wird den Wert der Variable "Var" und die Werte, in diesem Fall des Werts "test." Führen Sie das Skript über die Befehlszeile mit:

./awkparam.sh

Dies gibt den Wert der gespeicherten Variablen "test."

3 Bearbeiten Sie das awkparam.sh-Skript wieder, aber diesmal geben Sie die folgenden Befehle und speichern:

Var = $1

var2 = $2

Echo "$var $var2" | Awk '{print $1 $2}'

Führen Sie nun den Befehl über die Befehlszeile mit:

./awkparam.sh Test test2

Dies wird den Wert ausgegeben:

Test test2

auf dem Bildschirm. In diesem Fall hat Awk die gespeicherten Variablen, "Var" und "var2" genommen und wandelte sie in eine eigene interne Darstellung über die Druckparameter $1 und $2.

Tipps & Warnungen

  • Unterscheiden zwischen den Parametern ($1, $2 usw.) aus den Werten ein Shell-Skript übergeben $1, $2 in der Kommandozeile mit dem Befehl "print" AWK. Sie haben verschiedene Bedeutungen, dass externe Parameter $1, $2 in einem Shell-Skript übergeben sind, sondern in ein AWK "Drucken" Befehl, dass sie sich die Position der Felder übergeben, wie z. B. beziehen "test2 test." Experimentieren Sie selbst zu sehen, wie diese in der Praxis funktionieren.