Список верхних / нижних десяти строк совпадения слов в файле

Как перечислить верхние или нижние 10 строк из строки, которая соответствовала слову «ошибка» в файле.

Я использую grep 'error' /var/log/logfile.log > errors для печати и сохранения строк, которые соответствуют слову 'error' в файл с именем 'errors'. Как я могу изменить это в своем требовании? У кого-нибудь есть идея?

3
задан 20 March 2011 в 17:09

9 ответов

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после матча, как показано ниже. [!d1 ]

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк на стороне (до и после) матча.

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command -examples / (Также я бы рекомендовал вам прочитать полное сообщение в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 25 May 2018 в 22:28
  • 1
    здорово!!!. Это действительно больше, чем то, что я хочу, и ссылка действительно полезна. Снова небольшая вещь, файл может иметь много строк, соответствующих слову, и можно ли различать / разделять некоторые хэши или пробелы или что-то. – user3215 20 March 2011 в 18:54
  • 2
    Благодаря! Вы можете принять ответ, как принято. Что касается вашего вопроса, пытаетесь ли вы выборочно выбирать? Я не уверен, что это может быть сделано grep каким-то образом без примера. Я бы предложил вам задать другой вопрос, объясняющий пример, чтобы другие могли помочь вам. – Ashfame 20 March 2011 в 19:40
  • 3
    @ user3215, если вы хотите получить первое совпадение или последнее совпадение, попробуйте выполнить соединение через head или tail, соответственно. Например, grep -C 10 'error'|head -n 10 – djeikyb 20 March 2011 в 20:09
  • 4
    @djeikyb Я думаю, он действительно хочет grep «ошибка». с определенным рисунком вокруг этого слова. – Ashfame 20 March 2011 в 20:12
  • 5
    Например: после того, как первые 10 строк строки содержат ошибку, дайте некоторое пространство / хэши, а затем напечатайте следующие 10 строк – user3215 21 March 2011 в 06:13

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после матча, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк на стороне (до и после) матча.

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command -examples / (Также я бы рекомендовал вам прочитать полное сообщение в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 25 July 2018 в 22:19

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после матча, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк на стороне (до и после) матча.

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command -examples / (Также я бы рекомендовал вам прочитать полное сообщение в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 31 July 2018 в 13:26

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после матча, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк на стороне (до и после) матча.

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command -examples / (Также я бы рекомендовал вам прочитать полное сообщение в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 2 August 2018 в 03:47

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после матча, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк на стороне (до и после) матча.

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix-grep-command -examples / (Также я бы рекомендовал вам прочитать полное сообщение в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 4 August 2018 в 19:51

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после совпадения, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк в обеих сторонах (до и после).

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix- grep-command-examples / (Также я бы рекомендовал вам прочитать полный пост в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 6 August 2018 в 03:54

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после совпадения, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк в обеих сторонах (до и после).

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix- grep-command-examples / (Также я бы рекомендовал вам прочитать полный пост в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 7 August 2018 в 21:51

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после совпадения, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк в обеих сторонах (до и после).

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix- grep-command-examples / (Также я бы рекомендовал вам прочитать полный пост в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 10 August 2018 в 10:06

Отображение строк до / после / вокруг совпадения с использованием grep -A, -B и -C

-A - это опция, которая печатает указанные N строк после совпадения, как показано ниже.

-B - это опция, которая печатает указанные N строк перед совпадением.

-C - это опция, которая печатает указанные N строк перед совпадением. В некоторых случаях вам может потребоваться, чтобы матч появился с линиями с обеих сторон. Эти опции показывают N строк в обеих сторонах (до и после).

Источник: http://www.thegeekstuff.com/2009/03/15-practical-unix- grep-command-examples / (Также я бы рекомендовал вам прочитать полный пост в блоге)

, поэтому команда должна быть как grep -C 10 'error'

4
ответ дан 13 August 2018 в 16:26
  • 1
    здорово!!!. Это действительно больше, чем то, что я хочу, и ссылка действительно полезна. Снова небольшая вещь, файл может иметь много строк, соответствующих слову, и можно ли различать / разделять некоторые хэши или пробелы или что-то. – user3215 20 March 2011 в 18:54
  • 2
    Благодаря! Вы можете принять ответ, как принято. Что касается вашего вопроса, пытаетесь ли вы выборочно выбирать? Я не уверен, что это может быть сделано grep каким-то образом без примера. Я бы предложил вам задать другой вопрос, объясняющий пример, чтобы другие могли помочь вам. – Ashfame 20 March 2011 в 19:40
  • 3
    @ user3215, если вы хотите получить первое совпадение или последнее совпадение, попробуйте выполнить соединение через head или tail соответственно. Например, grep -C 10 'error' | head -n 10 – djeikyb 20 March 2011 в 20:09
  • 4
    @djeikyb Я думаю, он действительно хочет grep «ошибка». с определенным рисунком вокруг этого слова. – Ashfame 20 March 2011 в 20:12
  • 5
    Например: после того, как первые 10 строк строки содержат ошибку, дайте некоторое пространство / хэши, а затем напечатайте следующие 10 строк – user3215 21 March 2011 в 06:13

Другие вопросы по тегам:

Похожие вопросы: