是否有类似于tail的Linux命令,而不是指定多行您可以指定一个文本字符串,文件将从最后一行搜索到第一行,然后显示所有或指定的数字行?我试图捕获的日志末尾的内容可能介于0到10行之间,所以当不是10行时,它会使我复制它的日志文件难以理解。
在“尾手册”页面中,我只看到了指定行或字节的能力。
发布于 2016-07-13 14:27:34
ed编辑器能够向后搜索正则表达式的前一次出现,并在打开时方便地将其当前地址设置为文件的最后一行。所以你可以
ed file
?string?,.p
q输出从string的最后一次出现到文件末尾(包括)或作为一行的输出行。
printf '?string?,.p\nq' | ed -s file发布于 2016-07-13 15:00:45
如果您的grep具有-A标志,用于在每次匹配之后显示一定数量的上下文行,则可以执行以下操作:
grep -A 10 'pattern' logfile | less发布于 2016-07-13 18:22:09
为了完整起见,我将使用awk提交一个解决方案--虽然您不需要它来完成这个特定的任务,但它是一个非常强大的工具,这是它擅长解决的问题。
awk '/pattern/{x=1}x{print}'这将在找到模式时设置x变量,并在x为真时打印一行。请注意,这从模式的第一次出现开始。
https://unix.stackexchange.com/questions/295676
复制相似问题