2014-08-27 53 views
-1

从ubuntu移到mac之后,我一直无法生存的命令之一是rgrep。我知道有可能使用grep -r 'term' *,但有没有一个别名(或更可能是一个函数),可以实现这一点,没有国旗和*?是否有一个rgrep alias for mac

+0

https://www.google.com/search?q=alias+rgrep – tripleee 2014-08-27 17:58:23

+0

只需将该函数添加到'.bashrc'中即可。 – Barmar 2014-08-27 17:58:52

+2

'rgrep(){grep -r“$ 1”*; }' – 2014-08-27 17:59:18

回答

3

怎么样?

function rgrep { 
    first=$1 
    shift 
    grep --color -I -r "$first" * "[email protected]"; 
} 
+0

可能会考虑使用'local first = $ 1'来避免将变量泄露到全局范围内(以兼容性为代价 - “local”关键字不在POSIX规范中,尽管大多数最小shell如ash实现它) ,和/或使用'rgrep(){'不带'function'关键字来提高兼容性('function'由更少的本地''shell支持)。 – 2015-03-25 15:02:08

0

将这个成~/.bashrc

alias rgrep='grep -r' 

然后启动一个新的外壳,看看别名工作。

+1

这不包含问题 – chepner 2014-08-27 18:21:52

+0

@chepner Thx提示的'*'参数。但我没有得到我在这里想念的东西。在RedHat系统和rgrep上有这个别名,就像我在Debian上一样... – hek2mgl 2014-08-27 18:26:34

+0

有了这个,'rgrep'term''会阻塞,等待从标准输入中读取。用户希望作为'rgrep'的一部分的'*'(作为文件/目录的列表进行递归),但是对于这个,你需要键入'rgrep'term'*'。 – chepner 2014-08-27 18:29:36