Цветной поиск UNIX

Я знаю, как раскрасить вывод grep, ls (в 256 цветов!), prompt и tail. Но то, что действительно повысит производительность активного пользователя поиска, такого как я, будет окрашено в результат поиска.

Существует ли такая вещь? Некоторые веб-поиски не дают мне многообещающих результатов. Не помогает то, что "найти" - такое общее слово :-)


person Sridhar Sarnobat    schedule 29.08.2011    source источник


Ответы (3)


Насколько мне известно, в find это не встроено. В подобных ситуациях я предпочитаю использовать grc (см. http://manpages.ubuntu.com/manpages/gutsy/man1/grc.1)..html). Надеюсь, это полезно!

person Madan    schedule 10.01.2012
comment
Спасибо Мадан. Это именно то, что я хотел. - person Sridhar Sarnobat; 22.02.2012

grc подойдет для причудливой окраски, но простое выделение можно сделать с помощью grep. Хитрость заключается в дополнительном -e ^, который соответствует пустому биту каждой строки.

$ ls
dull.txt interesting.txt really_interesting.txt
$ find * -printf '%a %p\n' | grep --color=auto -e ^ -e "[a-z_]*interesting"
Wed Feb 8 17:01:49.0685605700 2012 dull.txt
Wed Feb 8 17:01:49.0686582300 2012интересно.txt
Wed Feb 8 17:01:49.0688535400 2012действительно_интересно.txt

Позор о цвете в Markdown. Я использовал полужирный выше, где у меня в консоли красный.

Существует множество альтернатив --color=auto, которые я использовал в своем примере с grep.

person Pete Forman    schedule 08.02.2012

Вы можете отправить вывод find в grep, а затем поиграть с цветами по мере необходимости:

find * -iname *Test* -exec ls --color=auto -d {} \; | grep -i Test

Вы также можете создать псевдоним, как показано ниже:

myfind() { find * -iname "*$1*" -exec ls --color=auto -d {} \; | grep -i $1 ; }
person Thamarai Raju    schedule 11.10.2017
comment
Основная идея работает хорошо, у меня возникает соблазн изменить принятый ответ на этот вопрос. Единственное, с трубами не очень хорошо работает, даже find -exec ls --color=always {} \; | head. Есть идеи, почему? - person Sridhar Sarnobat; 12.10.2017