Скажіть, у мене є такий файл:
$ cat test
test line 1
test line 2
line without the search word
another line without it
test line 3 with two test words
test line 4
За замовчуванням grep
повертає кожен рядок, який містить пошуковий термін:
$ grep test test
test line 1
test line 2
test line 3 with two test words
test line 4
Передаючи --color
параметр, grep
він змусить його виділити частину рядка, яка відповідає пошуковому виразу, але він все одно повертає лише рядки, які містять вираз. Чи є спосіб отримати grep
вихід до кожного рядка у вихідному файлі, але виділити відповідність?
Мій поточний жахливий хак для цього (принаймні, для файлів, у яких немає 10000+ послідовних рядків без збігів):
$ grep -B 9999 -A 9999 test test
Якщо цього grep
не вдається досягти, чи є інший інструмент командного рядка, який пропонує такий же функціонал? Я посварився ack
, але, схоже, це також не має для нього варіантів.
-C 9999
замість -A 9999 -B 9999
.I завжди робити:grep -C 9999 pattern file