Gawk Script-вывести имя файла в разделе BEGIN
Я пишу сценарий gawk, который начинается
#!/bin/gawk -f
BEGIN { print FILENAME }
Я вызываю файл через ./script file1.html
, но скрипт просто ничего не возвращает. Есть идеи?
4 ответа:
Вы можете использовать ARGV[1] вместо FILENAME, если вы действительно хотите использовать его в BEGIN block
awk 'BEGIN{print ARGV[1]}' file
Вы можете распечатать имя файла, когда встретите строку 1:
FNR == 1
Если вы хотите быть менее загадочным, проще понять:
FNR == 1 {print}
Обновление
Мои первые два решения были неверными. Спасибо, Деннис, что указал на это. Его путь верен:FNR == 1 {print FILENAME}