-jm-
03-09-2004, 17:54
Hallo!
Ich will mit Hilfe von awk eine Konfigurationsdatei auslesen, welche folgende Form hat:
#Kommentar
/Path1_1 /Path2_1 #Kommentar
/Path1_2 /Path2_2
/Path1_3 /Path2_3
Kommentare und Leerzeilen entferne ich dabei per awk '{gsub(/#.*/, "")} /[^\n].*/'.
Mein eigentliches Problem ist, dass ich jetzt alle Path1_n und Path2_n in gesonderten Bash-Arrays zur Weiterverarbeitung ausgeben will.
Mein bisheriger (ziemlich häßlicher) Ansatz:
awk '{gsub(/#.*/, "")} /[^\n].*/ {system("path1["NR - 1"]="$1)}'
awk '{gsub(/#.*/, "")} /[^\n].*/ {system("path2["NR - 1"]="$2)}'
Im Grunde genommen funktioniert es auch, aber die Variablen werden nicht exportiert, sodass ich diese im Script nich mehr weiterverwenden kann!
Gibt es eine Möglichkeit die Variablen auch im Script außerhalb der system()-Funktion (ein export innerhalb der Funktion hilft auch nicht) zu nutzen (über elegantere Lösungen freue ich mich natürlich noch mehr ;))?
Gruß -jm-
Ich will mit Hilfe von awk eine Konfigurationsdatei auslesen, welche folgende Form hat:
#Kommentar
/Path1_1 /Path2_1 #Kommentar
/Path1_2 /Path2_2
/Path1_3 /Path2_3
Kommentare und Leerzeilen entferne ich dabei per awk '{gsub(/#.*/, "")} /[^\n].*/'.
Mein eigentliches Problem ist, dass ich jetzt alle Path1_n und Path2_n in gesonderten Bash-Arrays zur Weiterverarbeitung ausgeben will.
Mein bisheriger (ziemlich häßlicher) Ansatz:
awk '{gsub(/#.*/, "")} /[^\n].*/ {system("path1["NR - 1"]="$1)}'
awk '{gsub(/#.*/, "")} /[^\n].*/ {system("path2["NR - 1"]="$2)}'
Im Grunde genommen funktioniert es auch, aber die Variablen werden nicht exportiert, sodass ich diese im Script nich mehr weiterverwenden kann!
Gibt es eine Möglichkeit die Variablen auch im Script außerhalb der system()-Funktion (ein export innerhalb der Funktion hilft auch nicht) zu nutzen (über elegantere Lösungen freue ich mich natürlich noch mehr ;))?
Gruß -jm-