我正在尝试创建一个脚本,它将从多个日志文件中查找丢失的主题。这些日志文件是自上而下填充的,所以最新的日志在文件的底部。我只想grep这个文件的最后一行,其中包括UNKNOWN_TOPIC_OR_PARTITION。这应该在多个名称完全不同的文件中完成。grep是最好的解决方案,还是有其他解决方案适合我的需要。我已经试过加尾巴了,但似乎不起作用。missingTopics=$(grep -Ri -m1 --exclude=*.{1,2,3,4,5} UNKNOWN_TOPIC_OR_PARTITION /app/tibco/log/tra/domain/)
1条答案
按热度按时间eyh26e7m1#
您可以尝试
find
、tac
和grep
的组合:tac
反向打印文件,find
的-exec sh -c SCRIPT "sh" '{}' \;
操作在每次找到与先前测试匹配的文件时执行shellSCRIPT
。SCRIPT
是以"sh"
作为参数$0
并以找到的文件的路径作为参数$1
来执行的。如果性能存在问题,您可以通过以下方法来提高性能:
这将产生更少的shell。如果安全性也是一个问题,你也可以用
-execdir
替换-exec
(即使使用这个SCRIPT
,我没有立即看到任何漏洞)。