Awk - unkonfektioniert regex

Schreibe ich ein shell-script, welches herausziehen muss Werte aus einer text-Datei die wie folgt aussieht:

app.full.name /warfilelocation/ warfilename

Mein shell-Skript wird der Iteration über eine Liste von Anwendungen, die Namen und ziehen Sie entweder den Standort oder den Namen mit AWK. Habe ich ausprobiert, tut dies auf der Kommandozeile mit dem folgenden:
awk "\$1 ~/app.voll.name/{ print $2 }" applications.txt

dem zurück, was ich erwarten würde, jedoch wenn ich diese in ein shell-Skript starte ich Probleme.

Ich habe eine Funktion, die wie folgt aussieht:

function get_location() {
        local application=$1
        awk "\$1 ~/^$application/{ print \$2 }"  applications.txt 
}

Aber wenn ich diese Funktion aufrufen, bekomme ich die folgende Fehlermeldung:

awk: $1 ~/^app.full.name
awk:      ^ unterminated regexp
awk: cmd. line:1: app.full.name
awk: cmd. line:1:         ^ syntax error
awk: cmd. line:2: app.full.name/ { print $2 }
awk: cmd. line:2:    ^ syntax error

Hat jemand eine Idee, was ich falsch mache hier. Ich nehme an ich bin nicht die Flucht der Variablen korrekt ist, aber egal was ich versuche, es nicht zu funktionieren scheint.

Vielen Dank im Voraus

  • Wie rufst du die Funktion? Was ist der Wert der Anwendung?
InformationsquelleAutor BandyOrc | 2011-09-28
Schreibe einen Kommentar