Как получить список имен файлов, у которых последняя строка (или строка в позиции X) соответствует определенному шаблону?
Мы ищем oneliner.
awk '/pattern/ {last_matching_line = FNR} (FNR != NR && FNR==1) {if (last_FNR == last_matching_line) {print last_filename}} {last_FNR = FNR; last_filename = FILENAME} END {if (FNR == last_matching_line) {print FILENAME}}' file1 file2...
last_matching_line
по FNR
.FNR==1
) или обрабатывает последний файл (END
).FILENAME
.Для строки по вопросу позиции X это проще, потому что есть только один случай для проверки: FNR == X