从ubuntu移动到mac后,我无法离开的命令之一是rgrep。我知道使用grep -r 'term' *
是可能的,但有没有一个别名(或者更可能是一个函数)可以在没有标志和*的情况下实现这一点?
怎么样?
rgrep() {
if [ "$#" -eq 0 ]; then
echo "Usage: $FUNCNAME pattern [options] -- see grep usage"
return
# one arg - pattern
elif [ "$#" -eq 1 ]; then
grep -rn "$@" *;
# 2 args - flag pattern
elif [ "$#" -eq 2 ]; then
first=$1
shift
grep -rn "$first" "$@" *;
# more than 2 args
else
echo "Usage: $FUNCNAME 2+ params not yet supported"
return
fi
}
将其放入~/.bashrc
:
alias rgrep='grep -r'
然后启动一个新的shell来查看别名是否正常工作。