我在.bashrc中有这样的命令没有得到结果与find命令定制别名在Linux
mygrep() {
find /var/www/site1 -exec grep -Hn "$1" {} \;
}
但有时它不是returing结果
但这个命令返回全部结果
grep -r "serch term" /var/www/site1
以上功能有什么问题
我在.bashrc中有这样的命令没有得到结果与find命令定制别名在Linux
mygrep() {
find /var/www/site1 -exec grep -Hn "$1" {} \;
}
但有时它不是returing结果
但这个命令返回全部结果
grep -r "serch term" /var/www/site1
以上功能有什么问题
当你的功能没有问题时un在我的Linux机器上。要使结果看起来完全相同,请将-n
选项添加到grep调用:grep -rn "serch term" /var/www/site1
。
这就是我所做的这两个命令的输出比较上飞(在bash):
diff <(grep -rn ast /var/www/site1) <(mygrep ast)
我曾尝试过,但仍然有许多关键字不在mygrep中,而是在grep中。我在该文件夹中有很多子目录。这就是原因。可能会发现不会在那些直接的节目中进行。我如何调试 – user825904
在更复杂的目录树上重新运行我的测试仍然没有显示出差异。你在使用find和grep的GNU实现吗?我的'find'来自GNU findutils 4.4.2,我的'grep'是GNU grep 2.9。在某些情况下,find和grep的其他实现可能会有不同的表现。 –
我看不出有什么差别。为什么不将-type f添加到您的查找中?你的grep是别名吗? – MeaCulpa
不,grep不是别名。我会尝试-type f – user825904
我发现如果我使用普通的grep,那么它甚至在字符串内搜索模式,就好像它会选择'master',如果我搜索'ast',但是我的自定义find命令只能找到'master'而不是' ast'作为匹配 – user825904