grep FOUND 中的 FOUND 是什么意思

grep FOUND 中的 FOUND 是什么意思

我遇到了这个命令 sudo clamscan -v -r /folder/to/scan/ | grep FOUND >> /path/to/save/report/file.txt

在研究 clam(一个开源防病毒引擎)时。我无法理解传递给 grep 的参数 FOUND 的含义。我尝试了 man grep,但它没有提供有关此类参数的信息。

答案1

grep是一个行匹配工具,与 Windows 中的类似findstr,但功能更强大。您在示例中看到的是此结构:

command | grep SOMEWORD >> file.txt

基本思想是,我们运行command它的输出将用于grep搜索,SOMEWORD并且结果输出将仅是包含单词的行。因为我们有通过管道从另一个命令输入的FOUND输入,所以我们不需要双引号,但除此之外,典型的 grep 命令将如下所示:grep|grep "USERNAME" /etc/passwd

至于>>我认为如果我们要生成新报告,这是不必要的,因为>>会将文本附加到文件,但万一>文件每次都会被覆盖。我认为这>>相当于创建所有扫描的日志。

答案2

通常,grep用于仅显示包含指定关键字的字符串,而不是在终端中显示文件或命令的整个输出。

据我了解,sudo clamscan -v -r /folder/to/scan/ | grep FOUND >> /path/to/save/report/file.txt将读取 ClamAV 的扫描文件(需要指定),找到其中包含单词“FOUND”的任何行,并将这些行复制到新文件中(您指定)。

它不是一个参数,而是您要求grep在指定文件中找到的东西。

答案3

“grep FOUND” 将仅从“clamscan”命令的输出中过滤包含单词“FOUND”的行。

它不是 grep 的选项,而是 grep 正在寻找的实际数据。

答案4

sudo clamscan -v -r /folder/to/scan/

将返回结果,并且这些结果被输入(“管道”)到“grep”。

如果结果中有单词“FOUND”,则将其添加到文本文件“/path/to/save/report/file.txt”中。“>>”表示附加到文件。

相关内容