Як grep справляється з лініями, що перекриваються?


1

Припустимо, мій текстовий файл виглядає приблизно так:

hello world1
foo bar2
hello world3
foo bar4
hello world5
foo bar 

Якщо я запускаю цю команду grep -A 4 'hello' draft.txt, я вважаю, що вона надрукує щось подібне:

hello world1     <<<<<<< This line matches
foo bar2         <<< These lines are the printed because of -A 4
hello world3     <<<
foo bar4         <<<
hello world5     <<< 
hello world3     <<<<<<< this line matches
foo bar4         <<< These lines are printed because of -A 4
hello world5     <<<
foo bar          <<<
 ... < so on > ....

Але насправді це те, що він друкує це (що може бути особливістю / помилкою).

hello world1
foo bar2
hello world3
foo bar4
hello world5
foo bar 

Це так, як це має працювати? як змусити його поводитись так, як я думав, що це буде? (який перемикач / варіант я використовую?)

Відповіді:


0

Інші рядки з відповідниками вважаються контекстом. Ви можете зробити щось, щоб збіги відображалися, щоб полегшити читання результатів.

grep  --color -A 4 'hello' draft.txt

введіть тут опис зображення

Неспоріднені групи сірників і контекстні лінії будуть розділені --на лінії самі по собі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.