2010-09-23 26 views
0

我有一个程序输出的日志文件的每次运行时都会更改一个文件名,以便我可以为每个文件保留永久记录运行会话。编程工具:知道如何查看目录中最近更改的文件的“less”

是否有像“less”这样的实用工具可用于显示最近更改过的最后N行文件?

编辑:最大的价值对我来说,如果我有东西会自动从一个文件到下一个过渡,所以我不必手动停止“少”,然后重新启动它。 (如果我这样做了,我还可以自己输入文件名)

回答

1

没有人可以这样做,但将几个简单命令链接在一起可以使我们在那里。如果你想看到的只是最后几行

# Sort by modified time, display the first file. 
ls -t <dir> | head -1 

您可以传递一个文件名,少以交互方式查看,或尾巴:这会给你最近修改的文件。 tail -n <N>显示文件的最后一行N行。这里有两个等价的方式来获取文件名尾巴:

# Use xargs to pass file name as argument to tail. 
ls -t <dir> | head -1 | xargs tail -n <N> 

# Use $(...) to do the same as above. 
tail -n <N> "$(ls -t <dir> | head -1)" 

的最后一块拼图是让这个连续监测目录,并显示任何最新的日志文件。为此,我们可以使用watch命令,它会定期重复您选择的命令。

# Repeat the above tail command every 5 seconds. 
watch -n 5 'ls -t <dir> | head -1 | xargs tail -n <N>' 
+0

有一点帮助,但我真的需要一些能够查看最近修改过的文件,并从一个文件切换到另一个文件。 – 2010-09-23 16:26:46

+0

@Jason啊,好吧,呃。更新了答案。 – 2010-09-23 16:33:18

+0

好的,谢谢。我会尽力。这是Windows,所以我需要抓住GNU unxutils,但它看起来很简单。 – 2010-09-23 16:36:01

相关问题