Я не могу хвост последние п строки файла на Linux, также я могу Grep например grep "2015-09-29 04:" filename.ext
Но как я могу объединить оба такие, что я отображение с определенным Grep к конец файла.Как совместить хвост и Grep в Linux
ответ
Вы не используете grep
или tail
. Вы можете использовать sed
:
sed -n '/^2015-09-29 04:/,$p'
Не печатать по умолчанию (-n
). Начиная с первой строки, начиная с 2015-09-29 04:
до конца файла ($
), распечатайте линии.
Если вы абсолютно необходимо использовать grep
и у вас есть GNU grep
, то вы могли бы рассмотреть следующие вопросы:
grep -A 999999999 -e '^2015-09-29 04:'
Это печатает первый миллиард или около строки после первой строки, которая соответствует шаблону (а счетчик если таковые рисунок появляется во время этого заднего материала). Конечно, если ваш файл имеет длину 2 миллиарда строк, а шаблон появляется после миллиона строк (и больше никогда), тогда вам не хватает большого количества данных.
Плюс 1. Для полноты решения awk: 'awk '/^2015-09-29 04:/{f = 1} f'' – John1024
#!/bin/bash
line_no=`grep -n -m1 "$1" $2 | cut -d: -f1`
echo "Starting at line: " $line_no
tail -n +$line_no $2
Использование: сценарий 'текст для охоты на' файла
например
./grep.sh 'Sep 29 13:14' /var/log/syslog
-n
номера выпуск линии-m1
остановка чтения после того, как 1 хитcut
из номера строкиtail -n +K
выходных линий, начиная с
файла 'кошки | K-й grep "2015-09-29 04:" | хвост "возможно? На данный момент у меня нет доступа к установке Linux для тестирования. –
@ EricJ .: UUoC - бесполезное использование кошки? И он выбирает только строки, которые соответствуют. –