Search 创建.bashrc函数以在所有文件中搜索特定字符串
我有一个有用的小命令,可以在所有文件和子目录中搜索特定字符串:Search 创建.bashrc函数以在所有文件中搜索特定字符串,search,function,bash,Search,Function,Bash,我有一个有用的小命令,可以在所有文件和子目录中搜索特定字符串: find . -name "*" -exec grep -il "search term" {} \; 我想把它变成一个函数,我可以把它放在.bashrc中,从shell调用它,而不需要记住整个过程,但我无法让它工作。这就是我到目前为止所做的: function ff() { find . -name "*" -exec grep -il $@ \{\} \\\; } 有人能帮忙吗? 非常感谢 alias ff='grep -i
find . -name "*" -exec grep -il "search term" {} \;
我想把它变成一个函数,我可以把它放在.bashrc中,从shell调用它,而不需要记住整个过程,但我无法让它工作。这就是我到目前为止所做的:
function ff() { find . -name "*" -exec grep -il $@ \{\} \\\; }
有人能帮忙吗?
非常感谢
alias ff='grep -irl'
执行相同的操作,但要简单得多,并停止为每个文件创建不必要的进程。好的,您可以这样做:
function ff() { find . -name "*" -exec grep -il $@ {} ';'; }
但这是荒谬的,不仅因为迈克·阿瑟指出的grep-r
,而且因为-name“*”
子句的效果完全一样。如果你打算这样做,我建议你:
function ff() { find . -type f -exec grep -il $@ {} ';'; }
很可能,你会喜欢这个实用程序。它有点像您描述的功能,功能更强大。它在Debian和Ubuntu存储库中以“ack grep”的名称提供。请尝试以下方法:
$ ff () { find . -name "*" -exec grep -il $@ {} \;; }
find-exec的缓冲区有限,技术上比使用xargs慢 别名ff='find.|xargs grep-il'
当您搜索大量文件时,将工作得更好。或者,您可以使用。如果您使用源代码管理,这将非常有帮助
ack -il <term>
<=>
grep -ril <term> .
ack-il
格雷普-瑞尔。
我觉得不错:)。为什么我要用find在那里迷失在时间的迷雾中…-谢谢在Solaris中不工作,因为Solaris似乎没有grep的递归选项。在这种情况下,查找通常是一种方法。