Распечатать только последнюю строку файла? - PullRequest
40 голосов
/ 20 июня 2010

Как напечатать только последнюю строку файла?

Ответы [ 5 ]

74 голосов
/ 20 июня 2010
END{print}

должен это сделать.Спасибо Ventero , который был слишком ленив, чтобы представить этот ответ.

19 голосов
/ 21 июня 2010

Используйте правильный инструмент для работы.Поскольку вы хотите получить последнюю строку файла, tail является подходящим инструментом для работы, особенно если у вас большой файл.Алгоритм обработки файлов в Tail в этом случае более эффективен.

tail -n 1 file

Если вы действительно хотите использовать awk,

awk 'END{print}' file

РЕДАКТИРОВАТЬ: tail -1 file устарело

13 голосов
/ 20 июня 2010

Обязательно ли использовать awk для этого?Почему бы просто не использовать tail -n 1 myFile?

5 голосов
/ 17 марта 2014

Вы можете достичь этого, используя sed.Однако я лично рекомендую использовать tail или awk.

. В любом случае, если вы хотите сделать sed, есть два способа:

Метод 1:

sed '$!d' filename

Метод2:

sed -n '$p' filename

Здесь имя файла - это имя файла, в котором есть данные для анализа.

4 голосов
/ 26 августа 2014

Найти последнюю строку файла:

  1. Используя sed (потоковый редактор): sed -n '$p' fileName

  2. Используя tail: tail -1 fileName

  3. с использованием awk: awk 'END { print }' fileName

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...