1

я использую

 grep -r [^a-zA-Z0-9]myVariableName[^a-zA-Z0-9] -n JS_files/

как файл mygrep

grep -r [^a-zA-Z0-9]$1[^a-zA-Z0-9] -n JS_files/

а потом

sh mygrep myVariableName

Но тогда я теряю выделение слова в соответствующей строке в выводе grep. Как получить подобный эффект, не теряя цветовые выделения терминала grep ubuntu?

также мой grep по умолчанию игнорирует регистр, как я могу заставить регистр чувствительность?

2 ответа2

3

Ваша команда grep использует --color=auto:

$ alias grep
alias grep='grep --color=auto'

Таким образом, вы все еще можете получить цвет, добавив этот блок в свой grep:

grep --color=auto -r [^a-zA-Z0-9]$1[^a-zA-Z0-9] -in JS_files/
     ^^^^^^^^^^^^

также мой grep по умолчанию игнорирует регистр, как я могу заставить регистр чувствительность?

Это означает, что ваш grep использует -i:

 -i, --ignore-case

Игнорируйте различия регистра как в PATTERN, так и во входных файлах. (-i определяется POSIX.)

У вас есть два варианта:

1) Попробуйте использовать grep по умолчанию с \grep . Он будет обходить любой псевдоним (см. \ Curl… | bash… для чего нужен слеш? для получения дополнительной информации):

\grep --color=auto -r [^a-zA-Z0-9]$1[^a-zA-Z0-9] -in JS_files/

2) Измените определение grep в вашем ~/.bashrc на желаемое . К настоящему времени это будет что-то вроде:

alias grep="grep --color=auto -i"
1

Добавить в конец файла ~/.bashrc

alias grep="/bin/grep --color=auto"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .