script.awk argumente

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Pischti
Beiträge: 417
Registriert: 20.02.2002 12:54:18
Wohnort: dresden

script.awk argumente

Beitrag von Pischti » 24.02.2005 22:55:03

hi,
ich bekomms gerade nicht recht auf die reihe ...
_______________________
#! /usr/bin/awk -f
{
printf $0;
}
________________________

ein
echo "ein text" | script.awk
funktioniert, was muss ich aber ändern bei solch einem aufruf:
./script.awk "ein text"

ich bgrauch das ganze für den syslog-ng, der seine meldungen in ein awk-script schicken soll

syslog-ng.conf
destination log { program("/usr/local/sbin/script.awk" template(" .....")) }
gruss pischti
debian stable

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.02.2005 23:45:14

awk versteht kennt eigentlich Datei-Argumente oder Zuweisungen

Code: Alles auswählen

#!/bin/awk -f
BEGIN {
print line;
}

Code: Alles auswählen

./script.awk -v line="ein text"

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 25.02.2005 09:38:10

Versteht AWK ja woohl ;)

Code: Alles auswählen

#!/usr/bin/awk -f
BEGIN {
    for(i = 0; i < ARGC; i++)
        print ARGV[i]
}
und dann:

Code: Alles auswählen

./test.awk basdf asdf
awk
basdf
asdf
Habe ich auch erst kürzlich rausgefunden. :)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 25.02.2005 11:34:02

Ups, tatsächlich

awk interpretiert das Argument zwar als Datei, weil es nur einen BEGIN-Block gibt, sieht sich awk jedoch nicht veranlaßt diese auch zu öffnen. Diesen Effekt kannte ich noch nicht.

Antworten