У меня есть проблема с командой grep.получить последнюю строку из поиска grep по нескольким файлам
Я нашел способ показать только последнюю строку поиска Grep:
grep PATERN FILE_NAME | tail -1
Я также найти способ сделать поиск Grep в нескольких выбранных файлов:
find . -name "FILE_NAME" | xargs -I name grep PATERN name
Теперь я хотел бы получить только последнюю строку результата grep для каждого отдельного файла. Я попытался это:
find . -name "FILE_NAME" | xargs -I name grep PATERN name | tail -1
Это возвращает мне только последнее значение последнего файла, в котором я хотел бы иметь последний соответствующий Patern для каждого файла.
отлично работает! Спасибо! : D –
К сожалению, это не будет эффективно для огромных файлов или сложных поисков шаблонов, если вы ищете весь файл и возвращаете только последний результат? Как о чем-то вроде следующего, в вашем цикле for: 'tac file | grep -m1 -oP '(? <=tag>). * (?=) '| head -n 1' или даже 'grep -m1 -oP '(? <=tag>). * (? =)' << (tac-файл)' – kisna