Direkt von der Manpage (leicht umformatiert):
DATEINAME: Der Name der aktuellen Eingabedatei. Wenn keine Dateien in der Befehlszeile angegeben sind, ist der Wert von FILENAME "-". FILENAME ist jedoch innerhalb des BEGIN-Blocks nicht definiert (sofern nicht durch getline festgelegt).
Wenn ich auf die Antwort von Hai Vu baue, schlage ich vor, dass wenn der Dateiname nur einmal pro Datei gedruckt werden soll, er in eine Bedingung eingeschlossen werden muss.
%Vor%