Jer*_*ell 271 grep colors less pipe
我经常使用 grep 的 --colour 选项,但我也经常使用较少。我怎样才能减少 grep 结果并仍然保留颜色。(或者这可能吗?)
grep "search-string" -R * --colour | less
Run Code Online (Sandbox Code Playgroud)
编辑:
我正在寻找直接解决方案或任何与此等效的方法。
drr*_*lvn 307
当您简单地运行时,grep --color
它意味着grep --color=auto
哪个检测输出是否是终端,如果是,则启用颜色。但是,当它检测到管道时,它会禁用着色。以下命令:
grep --color=always -R "search string" * | less
Run Code Online (Sandbox Code Playgroud)
将始终启用着色并覆盖自动检测,您将在less
.
编辑:虽然使用只less
对我有用,但旧版本可能需要-R
标志来处理颜色,正如这里所建议的那样。
Den*_*son 33
你可以把它放在你的.bashrc
文件中:
export GREP_OPTIONS="--color=always"
Run Code Online (Sandbox Code Playgroud)
或创建这样的别名:
alias grepc="grep --color=always"
Run Code Online (Sandbox Code Playgroud)
并且您将需要使用-R
选项 for less
,正如这里所指出的
Iaz*_*zel 12
在这种情况下,我更喜欢实际创建小的 sh 文件并将它们放在/usr/local/bin
.
我通常grep
以递归方式使用pwd
,所以这就是我的个人脚本:
#!/bin/sh
grep --color=always -r "$@" . | less -R
Run Code Online (Sandbox Code Playgroud)
然后我只是将它复制为/usr/local/bin/g
(是的,我经常使用它)