Я пытаюсь отобразить вывод одной команды ОС последней строки файла журнала, который начинается с определенной строки.В Linux: распечатать последнюю строку файла журнала, которая начинается с
Так в основном у меня есть файл журнала, который гласит:
Tom
Paul
Tom
Steve
Anthony
Tom
Я хочу набрать команду, подобную этой:
tail -1 /etc/logfile | grep Steve
и имеют выход так: Стив
К сожалению, вывод tail -1
показывает только последнюю строку файла журнала ... ЕСЛИ это соответствует. Я хочу, чтобы он искал файл журнала, снизу вверх (от самого последнего до самого старого) и печатал первую запись, которая соответствует «Начинается с» или grep. Спасибо. Я попробовал кучу комбинаций хвоста, седа, кота и меньше ... но я, возможно, просто делаю что-то маленькое неправильно и пропустил его.
но как же я могу закрыть хвост? и как мне указать grep в файле журнала? Я попробовал grep Steve | tail -1/etc/logfile, и он только что вернул Тома и оставил хвост открытым. – user2317377
Хвост закрывается после того, как grep завершает закрытие трубы. Я пропустил файл журнала в первый раз, проверьте мой исправленный ответ. – parkydr
Итак, у меня возникла мысль, и, возможно, мне нужно задать совершенно новый вопрос, но могу ли я разработать сценарий оболочки для выполнения этой функции для набора списков шаблонов? Например ... Шаблоны = Стив, Том в скрипте. Затем скрипт будет проходить через каждый шаблон, grep шаблон из файла журнала, а затем хвост -1, чтобы отобразить последнюю запись для него. Таким образом, он будет отображать последнюю запись для каждого имени, которое я ищу, используя один скрипт. Я знаю, что это намного сложнее ... мне нужно задать новый вопрос? – user2317377