因为我很懒……任何时候我想使用 grep,我都希望它是 grep -n --colour。有没有办法永久映射它?
答案1
在您的 $HOME/.bashrc 文件中,添加:
export GREP_OPTIONS="-n --color"
egrep
这也适用于使用 grep 的别名。
更新:GREP_OPTIONS 从 grep 2.21 开始已弃用,如果您使用此解决方案,您将看到以下警告:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
因此,最好的解决方案是遵循maco 在回答中给出的建议. 或者改用银,默认以彩色输出。
答案2
编辑 ~/.bash_aliases 添加一行:
alias grep='grep -n --color'
如果存在,则 ~/.bash_aliases 会自动包含在 ~/.bashrc 中
答案3
您可以修改位于主目录中的文件 .bashrc 来定义别名,它将覆盖任何默认设置:
别名 grep='grep -n --color'
更改后关闭并再次打开终端,因为打开终端时只读取该文件。
如果你查看文件 .bashrc,你会发现更多默认别名,例如:
别名 ll='ls -l'
别名 la='ls -A'
别名 l='ls -CF'
答案4
除了其他答案中提到的别名之外,还要创建一个脚本。别名本身并不总是有效,而且脚本层的速度足以提供人类可读的输出。
选择一个简短的名称,例如cgrep
:
#!/bin/sh
grep --color -n "$@"
将它放在你的路径中,比如说~/bin
(如果你读过 UPE,那么它就在你的路径中 :)。然后像这样的东西就会起作用:
find /usr/share -name '*.txt' | xargs cgrep testing
我仍然不太高兴,我也希望 grep 在将标准输出到终端时始终显示颜色,而无需有选择地输入 cgrep。