awk und system()

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
loi
Beiträge: 96
Registriert: 03.05.2005 22:43:22
Wohnort: Zürich

awk und system()

Beitrag von loi » 02.01.2007 23:49:13

Hi,

Ich versuche, aus awk heraus Systembefehle auszuführen.
Es geht darum, den Befehlen parameter zu übergeben.
Wie geht das?
Ist ja bestimmt nicht schwer, aber finden tue ich das gerade nirgends.
Bsp:

Code: Alles auswählen

system(touch file_name);
Wobei file_name ein Variable von awk ist.

Mfg Loi

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 03.01.2007 12:12:37

Hi Loi,

ist doch ganz einfach (wenn man weiss wo's steht ;-})

Code: Alles auswählen

awk ' BEGIN {print "'"`date`"'";}'
Erlaeuterung:
-das erste/letzte Hochkomma sollte klar sein
-das Anfuehrungszeichen nach print (bzw. vor dem Semikolon) klammert einen String im awk
-das Hochkomma das darauf folgt stellt eine Unterbrechung des awk Programms dar
-das hierauf folgende Anfuehrungszeichen kapselt einen String in der Shell
-nun zum "accentegraf" (schreibt sich's so?), jedenfalls das Hochkomma das von linksoben, nach rechtsunten geht, liefert das resultat von date

Ich hoffe es hilft, so stand's jedenfalls mal ein einer Zeitschrift.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: awk und system()

Beitrag von garibaldi » 03.01.2007 12:38:32

loi hat geschrieben:Ist ja bestimmt nicht schwer, aber finden tue ich das gerade nirgends.
http://www.linuxfibel.de/awk.htm sollte dir auch weiterhelfen.

Gruß, garibaldi
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

flash78
Beiträge: 32
Registriert: 22.05.2005 14:11:28

Re: awk und system()

Beitrag von flash78 » 03.01.2007 19:22:31

loi hat geschrieben:Hi,

Ich versuche, aus awk heraus Systembefehle auszuführen.
Es geht darum, den Befehlen parameter zu übergeben.
Wie geht das?

Code: Alles auswählen

system(touch file_name);
Wobei file_name ein Variable von awk ist.

Mfg Loi
Also bei mir funktioniert dein Beispiel (zumindest mit gawk), oder mir ist das Problem nicht ganz klar:

Code: Alles auswählen

BEGIN {
  datei="xy.log";
  system ("touch " datei);
}

loi
Beiträge: 96
Registriert: 03.05.2005 22:43:22
Wohnort: Zürich

Beitrag von loi » 03.01.2007 22:22:21

Hi,

Danke soweit.
Hat gut funktioniert mit:

Code: Alles auswählen

awk ' BEGIN {print "'"`date`"'";}'
Mfg Loi

Antworten