4

grep 命令

如果我在

/var/

我要搜索/var/www

递归地

但不是

/var/www/exclude
4

4 回答 4

7

您也可以使用 grep -v "/foldername/"。-v 删除所有匹配项。

grep -r string /var/www/ | grep -v "/exclude/"
于 2012-05-18T18:02:47.373 回答
0

用于--exclude=*.log* 跳过包含单词“log”的文件。

于 2017-02-27T19:21:08.993 回答
-1

该选项--exclude-dir=exclude可能有效。

但是,它有一些限制:它将忽略所有“排除”文件夹,而不仅仅是/var/www/exclude.

grep -r --exclude-dir=exclude pattern /var/www/

如果您已经在 var 中,那么您当然可以使用 www :

grep -r --exclude-dir=exclude pattern www/
于 2012-05-18T17:58:48.500 回答
-1

1) 使用grep -R -f file.txt,在其中file.txt列出所有文件和目录名称,除了 /var/www/exclude

2) 使用以下 bash 脚本:

 for i in $( ls /var/www/ ); do
   if [ "$i" != "/var/www/exclude" ] ; then
      grep -R "my search term" $i
   fi
 done
于 2012-05-18T18:04:23.147 回答