用 grep -n --colour 替换 grep 命令?

用 grep -n --colour 替换 grep 命令?

因为我很懒……任何时候我想使用 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。

相关内容