Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
shellbefehl innerhalb awk

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
robn9
Gast





BeitragVerfasst am: 03. Jun 2004 16:51   Titel: shellbefehl innerhalb awk

Hallo allerseits,

ich möchte gerne eine Liste an awk übergeben. Hier soll dann auf jede Zeile ein Befehl angewendet werden.
Also in etwa:
cat datei | awk basename zeile

Ist das möglich? Wenn ja wie?
Ich hoffe ich habe mich einigermaßen deutlich ausgedrückt. Also ich möchte
eigentlich auch kein workaround, also mit awk '{printf "%s", $0}' | basename oder so ähnlich. Würde in diesem Falle sowieso nicht gehen, da basename wohl keine pipes verarbeitet.

Danke für Eure Hilfe!
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 04. Jun 2004 7:46   Titel:

Dazu gibt es die system()-Funktion im awk:
Code:
awk '{ system ("basename " $0)}' datei
Allerdings war Deine Idee eines "Workarounds" nicht falsch, denn so geht es auch:
Code:
awk '{ print "basename " $0 }' datei | sh
Das ist bei vielen Zeilen vielleicht sogar performanter, da system() m.E. immer eine Shell zum Ausführen der Kommandos startet und damit immer 2 Prozesse pro Zeile statt nur einem.

Alternativ könnte man ein basename ja im awk basteln:
Code:
awk '{ sub (/.*\//, "", $0) ; print $0}' datei
Sollte dem entsprechen, was Du über basename erreichen willst. Hier muss nur awk ein bisschen rechnen und die ganzen basename-Prozesse werden eingespart.

Jochen
_________________
Die grösste Lüge der EDV? "Mal eben..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

robn9
Gast





BeitragVerfasst am: 04. Jun 2004 11:26   Titel:

Hammer !!!
Danke, Deine Antworten haben keine Fragen mehr offen gelassen. Insbesondere die letzte Anweisung bringt in meinem Falle eine enorme Performancesteigerung.
Also Danke nochmal!

Gruß,
robn9
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy