Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux中使用自定义别名中的find命令无法获得结果_Linux_Shell_Grep_Find - Fatal编程技术网

在linux中使用自定义别名中的find命令无法获得结果

在linux中使用自定义别名中的find命令无法获得结果,linux,shell,grep,find,Linux,Shell,Grep,Find,我在.bashrc中有这个命令 mygrep() { find /var/www/site1 -exec grep -Hn "$1" {} \; } 但有时它并不会带来结果 但是这个命令返回完整的结果 grep -r "serch term" /var/www/site1 上面的函数有什么问题在我的Linux机器上运行时,您的函数没有任何问题。要使结果看起来完全相同,请将-n选项添加到两个grep调用:grep-rn“serch term”/var/www/si

我在.bashrc中有这个命令

 mygrep() {
         find /var/www/site1 -exec grep -Hn "$1" {} \;
     }
但有时它并不会带来结果

但是这个命令返回完整的结果

grep -r "serch term" /var/www/site1

上面的函数有什么问题

在我的Linux机器上运行时,您的函数没有任何问题。要使结果看起来完全相同,请将
-n
选项添加到两个grep调用:
grep-rn“serch term”/var/www/site1

这是我动态比较两个命令的输出(在bash中)所做的:


diff我看不出有什么区别。为什么不将-type f添加到您的查找中?你的grep有别名吗?不,grep没有别名。我会尝试键入fi find,如果我使用普通grep,那么它甚至会在字符串中搜索模式,就像搜索
ast
时搜索
master
一样,但我的自定义find命令只查找
master
而不是
ast
匹配我已经尝试过了,但仍然有许多关键字没有出现在mygrep中,而是出现了用grep。我在那个文件夹中有很多子目录。这就是原因。也许在那些董事会里找不到。如何调试在更复杂的目录树上运行我的测试仍然没有显示任何区别。您正在使用find和grep的GNU实现吗?我的
find
来自GNU findutils 4.4.2,我的
grep
来自GNU grep 2.9。find和grep的其他实现在某些情况下可能表现不同。