2014-03-30 40 views

回答

2

grep不会从文件名中搜索文件名。尝试改为:

find -iname "*.py" | xargs grep -i django 

或奖励积分(处理有空格的文件名)

find -iname "*.py" -print0 | xargs -0 grep -i django 
+0

或'找到-name '*的.py' -exec grep的-i -H Django的 '{}' ';''。 – ruakh

+0

@Cobbal:它的工作原理谢谢。同样,在同一行上。我尝试了grep -r django * .py但是这不起作用。 – user1050619

+0

@ user1050619在grep甚至看到它之前,“* .py”被扩展到当前目录中的所有python文件名,所以'-r'标志什么也不做。有些shell(当然是zsh,我认为bash)可以让你做一些像'grep django **/*。py'这样的东西,它可以扩展到所有子目录中的所有python文件。 – cobbal