ebenso mawk(1):-f program-file
--file program-file
Read the AWK program source from the file program-file, instead of from the first command line argument. Multiple -f (or --file) options may be used.
Damit kann man Includes in awk ganz gut organisieren:-f file Program text is read from file instead of from the command line. Multiple -f options are allowed.
Code: Alles auswählen
$ awk -f include.awk -f program.awk <input
Code: Alles auswählen
cat include.awk program.awk > foo.awk
awk -f foo.awk <input
Das Problem ist aber, dass es in der Shebang-Zeile so nicht funktioniert!
Wenn program.awk so aussieht:
Code: Alles auswählen
#!/usr/bin/awk -f include.awk -f
# ... code ...
(Das war gawk, bei mawk ist das Ergebnis gleich.)awk: fatal: can't open source file ` includes.awk -f' for reading (No such file or directory)
Ich versteh's einfach nicht.
Wird denn bei der Shebang-Zeile nicht einfach der eigene Dateiname (nach einem Leerzeichen) angehängt und das dann der Shell übergeben?
Wieso ist das Leerzeichen plötzlich kein Trenner mehr?
Wo denke ich falsch?
... und welchen Sinn hat vorliegendes Verhalten?