Linux Bash:如何在所有子目录中名为output.log的所有文件中搜索特定短语
我正在努力想办法做到这一点,而搜索结果却不多。。我觉得我需要做一个剧本 假设我有一个名为“Log outputs”的目录。在“日志输出”中,我有一个2016年、2015年、2014年的文件夹。。在每一个里面我有一月,二月,三月。。最后,在每个文件夹中都会有一个名为output.log的文件 如何在“Log outputs”目录中运行命令,扫描所有子目录以查找名为“output.Log”的文件,然后在此日志文件中搜索特定短语。我不需要它来搜索output.log之外的任何其他文件,目录可以组织为X个子目录 尽管玩了很长一段时间,还是弄不懂这个Linux Bash:如何在所有子目录中名为output.log的所有文件中搜索特定短语,linux,bash,grep,find,command-line-interface,Linux,Bash,Grep,Find,Command Line Interface,我正在努力想办法做到这一点,而搜索结果却不多。。我觉得我需要做一个剧本 假设我有一个名为“Log outputs”的目录。在“日志输出”中,我有一个2016年、2015年、2014年的文件夹。。在每一个里面我有一月,二月,三月。。最后,在每个文件夹中都会有一个名为output.log的文件 如何在“Log outputs”目录中运行命令,扫描所有子目录以查找名为“output.Log”的文件,然后在此日志文件中搜索特定短语。我不需要它来搜索output.log之外的任何其他文件,目录可以组织为X
find 'Log outputs' -name 'output.log' -exec grep 'searchkey' {} \;
如果需要查看文件名和行号,请将-Hn
添加到grep命令中
如果需要查看文件名和行号,请将
-Hn
添加到grep命令。完成得很好;我建议更换\使用+
进行编码>以提高效率(通常只需调用一次grep
。然后将逻辑颠倒:-h
用于抑制文件前缀)。@mklement0:Nice。今天我从你的评论中学到了很多。太棒了,谢谢。看起来效率很高,完成得很快。有一件事我不确定:什么是\;正如mklement0所提到的vs+,做得很好;我建议更换\使用+
进行编码>以提高效率(通常只需调用一次grep
。然后将逻辑颠倒:-h
用于抑制文件前缀)。@mklement0:Nice。今天我从你的评论中学到了很多。太棒了,谢谢。看起来效率很高,完成得很快。有一件事我不确定:什么是\;如mklement0所述的vs+吗?