PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : awk Frage - wie input-file angeben?


Simon Moon
2019-10-20, 17:54:20
Hi

Ich bastle aktuell grad ein kleines awk Script welches für die Command-Line etwas zu komplex wird. Also hab ich mir ein kleines source.awk erstellt. Nun bringt mir das Ding aber irgendwie einfach keinen Output, aus irgend einem grund wird das input file nicht gelesen. Hab nun das ganze mal extra vereinfacht:

script.awk

1 #!/usr/bin/awk -f
2
3 BEGIN {
4 {print $0}
5 }
Wenn ich nun "awk -f script.awk input.file" angebe, wird einfach eine leere Zeile ausgegeben. Ändere ich z.b. "print $0" auf "print test", dann gibt es auch wie zu erwarten test aus. Geb ich sowas wie cat input.file ein, wird auch das Input-File korrekt angezeigt.


Nur was versteh ich hier am manual falsch?

https://www.gnu.org/software/gawk/manual/gawk.html#Running-gawk
When the program is long, it is usually more convenient to put it in a file and run it with a command like this:
awk -f program-file input-file1 input-file2 … This section discusses both mechanisms, along with several variations of each.




Thx

Marscel
2019-10-20, 23:05:43
Du hast dein print ja auch im BEGIN-Block, da ist $0 nix. Das muss da raus, oder einfach den äußeren Block entfernen.

Simon Moon
2019-10-21, 15:28:18
stimmt, omg, ich hab einfach zu lange nichts mehr mit awk gemacht -.-