使用xargs时如何退出less跟随模式而不退出less?

使用xargs时如何退出less跟随模式而不退出less?
ls -rt *.log | tail -1 | xargs less +GF

我将此命令用于tail -f我的日志,但是当我ctrl+c退出跟随模式时,它less也会退出。

我认为这是由于造成的xargs,因为如果你只是less <file>,那么shift+F去遵循它,ctrl+c就不会少退出。

答案1

less在管道中使用跟随模式并不是很有用,因为按Ctrl+C会退出整个管道。此外,使用+F可以消除对 的需求+G

对于你的情况,你可以这样做:

less +F $(ls -rt *.log | tail -1)

这将仅跟踪最新的日志文件。您还可以执行以下操作:

less +F $(ls -t *.log)

它将把所有日志文件提供给less第一个(即最新)文件并跟踪该文件。在这种情况下,退出跟踪模式后,无需退出即可检查其他文件less

答案2

在较新的版本中less(自 581 起,于 2021 年 4 月 18 日发布供一般使用),您可以使用Ctrl+X而不是Ctrl+C来中止follow命令(+F),这不会中止管道中的其他程序(xargs在本例中)。

相关内容