grep - одна из наиболее часто используемых команд в linux. Мне кажется, что его основная функция - выделить строку, которую вы искали, в выходных строках. это может быть достигнуто с помощью опции --color.
Ввод --color каждый раз раздражает, а также не продуктивно. Есть ли способ изменить grep, чтобы он вел себя как grep --color.
Я попытался написать небольшой скрипт с именем grepd и добавил его в переменную PATH. Но скрипт не работает на входе grepd . Любые предложения, пожалуйста.
#!/bin/bash
grep --color $1 $2
источник
GREP_OPTIONS
переменную среды:export GREP_OPTIONS='--color=always'
some_command | xargs grep foo
не будет окрашен, потому что xargs не использует псевдоним.Это иллюстрирует стандартный способ «обертывания» команды сценарием оболочки, когда команда работает не совсем так, как вам нравится.
В
exec
избегает создавая дополнительный процесс (один для сценария и один для Grep). Вы можете оставить это, если хотите.Символ
"$@"
заменяется всеми аргументами скрипта, независимо от их количества. Он правильно сохраняет аргументы с пробелами и другими символами, которые являются специальными для оболочки.источник
попробуйте
export GREP_COLORS='AUTO'
вставить ваш ~ / .bashrc - для меня это работает.от
man grep
источник
GREP_COLORS
это набор реальных цветов. УстановкаAUTO
не должна показывать какие-либо цвета. export GREP_OPTIONS = '- color = auto' должен быть ответом.