Есть ли что-нибудь типа grep, только выполняющая не вильтрацию, а подсвечивание ?
Т.е. есть текст, где в середине есть слово МАГАЗИН. Если сделать cat text|grep "МАГАЗИН", то выведется только необходимая строка. А я хотел бы чтобы вывелся весь текст, а слово (или вся строка) МАГАЗИН - другим цветом, например.
есть ли colorgrep? (какой-нибудь)
Модераторы: /dev/random, Модераторы разделов
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: есть ли colorgrep?
grep --color
ну и
sed 's/МАГАЗИН/\x1b[32;1m&\x1b[0m/g'
а хоть-бы и имя файла с номером строки.
-
- Сообщения: 1268
- ОС: debian
Re: есть ли colorgrep?
Отлично, но есть небольшая проблема. grep --color выделяет необходимое слово, но помимо этого он еще обрезает строки, не имеющие это слово. А мне хотелось бы сделать вывод текстового файла и подсветить СЛОВО. А получается, что выводятся лишь строки со словом СЛОВО, и СЛОВО выделено. Т.е. я хочу сделать файл text:
я пошел в магазин
мама пошла в магазин
я никуда не пошел
Код: Выделить всё
cat text|colorgrep магазин
я пошел в магазин
мама пошла в магазин
я никуда не пошел
-
- Администратор
- Сообщения: 5403
- ОС: Gentoo
-
- Сообщения: 1268
- ОС: debian
Re: есть ли colorgrep?
Спасибо, сработало!
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: есть ли colorgrep?
pelmen писал(а): ↑17.02.2010 12:31Отлично, но есть небольшая проблема. grep --color выделяет необходимое слово, но помимо этого он еще обрезает строки, не имеющие это слово. А мне хотелось бы сделать вывод текстового файла и подсветить СЛОВО. А получается, что выводятся лишь строки со словом СЛОВО, и СЛОВО выделено. Т.е. я хочу сделать файл text:
а зачем я вам вторую строчку с sed дал?
а вы поняли ЧТО сработало?
-
- Сообщения: 1268
- ОС: debian
Re: есть ли colorgrep?
sed-ом пользоваться не умаю. Мне показалось, что вы дали 2 варианта решения (либо так либо сяк), а оно вон оно как 
Я не очень люблю решения на sed, т.к. для меня они кажутся не очевидными (нечитаемыми?)

Я не очень люблю решения на sed, т.к. для меня они кажутся не очевидными (нечитаемыми?)
Прошу прощения, если чем-то обидел\x1b[32;1m&\x1b[0m/g

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: есть ли colorgrep?
в данном случае решение вполне читаемое: просто коды для выделения цветом такие. они не в sed такие, они во всём терминале такие кривые. Попробуйте скажем echo -e "\x1b[33;1m"
вернутся назад можно echo -e "\x1b[0m"
PS: ИМХО это решение от /dev/random совершенно нечитаемое


-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: есть ли colorgrep?
может быть это и более читаемо, но так-же непонятно. ИМХО. особенно в случае grep.
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: есть ли colorgrep?
pelmen
как-нибудь на досуге можете поиграться с supercat-ом:
p.s. найден пакет просмотром выдачи команды
$ apt-cache search colorize
да, много чего есть в debian gnu/linux.
как-нибудь на досуге можете поиграться с supercat-ом:
Shell
$ apt-cache show supercat | sed -n '/Descr/,$p'
Description: program that colorizes text for terminals and HTML
Supercat is a program that colorizes text based on matching regular
expressions/strings/characters. Supercat supports html output as well
as standard ASCII text. Unlike some text-colorizing programs that
exist, Supercat does not require you to have to be a programmer to
make colorization rules.
Homepage: http://supercat.nosredna.net/
Tag: implemented-in::c, interface::text-mode, use::text-formatting, works-with::text,
works-with-format::html, works-with-format::plaintext
$ spc -t c /usr/src/linux-source-2.6.26/usr/gen_init_cpio.c
<красиво раскрашенный код на c>
p.s. найден пакет просмотром выдачи команды
$ apt-cache search colorize
да, много чего есть в debian gnu/linux.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог