我试图找出服务器上哪些文件包含此文本“roads
”,因此我使用此命令:grep -rl 'roads'
。但它显示了很多这样的文件:
./res/js/.svn/entries
./res/js/.svn/all-wcprops
./res/styles/.svn/entries
./res/styles/.svn/all-wcprops
./res/images/.svn/entries
我不希望这个文件夹 .svn
显示在搜索结果中,因为这只是为了版本控制,对我来说没有任何意义,所以有没有办法可以做到这一点:如果结果包含.svn
,那么它不会出现在最终结果中。例如以下三个文件包含文本“roads
”:
check.php
./res/js/.svn/entries
./res/js/.svn/all-wcprops
那么结果只显示:
check.php
一种简单的方法是简单地消除误报:
grep -rl roads . | grep -v '/\.svn/'
如果你想提高效率而不是花时间搜索 SVN 文件,你可以在 grep 之前过滤掉它们:
find -type f | grep -v '/\.svn/' | xargs grep -l roads
我是一名优秀的程序员,十分优秀!