Guten Morgen / guten Abend / gute Nacht,
ich sitze hier und brüte über einem awk-Problem (natürlich unter FreeBSD),
vielleicht kann mir mal jemand freundlich auf den Hinterkopf schlagen, denn
ich komme einfach nicht drauf:
Ich möchte in einem awk-Skript die Eingabedatei definieren, aus der
gelesen werden soll. Es ist eine CSV-Datei. Nach "man awk" gibt es
dafür FILENAME, also schrieb ich:
#!/usr/bin/awk -f
FILENAME = "blubb.csv";
FS = ":";
!/^#/ && (length != 0) {
...
und hier jetzt die Anweisungen für jede Zeile
...
}
Das funktioniert aber nicht, da von der Standardeingabe gelesen wird.
Das gilt auch, wenn die beiden ersten Zuweisungen in der BEGIN { ... }-
Gruppe stehen.
Fügt man einen "sh-Wrapper" herum, d. h. leitet man die Quelldatei
direkt in awk ein, z. B. mit
% awk -f bla.awk -F ":" blubb.csv
dann funktioniert es. Da das Skript aber +x und korrekt "geshebangt" ist,
wünsche ich,
% ./bla.awk
aufrufen zu können, ohne einen "sh-Wrapper" mit o. g. Aufruf drumrum-
kleben zu müssen.
Die Frage ist also: Was mache ich hier gravierend falsch?
-- Polytropon >From Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Fri 10 Apr 2009 - 04:01:40 CEST