小编use*_*047的帖子

拖尾滚动文件

我有一个充满滚动日志文件的目录,我希望能够使用tail.

这些文件的名称如下:

name      modified
00A.txt   Dec 27 19:00
00B.txt   Dec 27 19:01
00C.txt   Dec 27 19:02
00D.txt   Dec 27 19:03
Run Code Online (Sandbox Code Playgroud)

在一个较旧的unix系统上,我试图想出一个shell脚本,它将在最近修改的特定目录中修改文件,如果该文件被管理关闭(滚动到下一个文件),我想让程序自动开始拖尾新文件,我不必打破尾巴重新运行.

tail -100f `ls -t | head -1` 
Run Code Online (Sandbox Code Playgroud)

给定上面的文件名,所需的行为将如下所示:

./logtailer.sh
Run Code Online (Sandbox Code Playgroud)

然后脚本将开始拖尾00D.txt.一旦记录器完成写入00D.txt并且最新的日志文件现在命名为00E.txt,程序将自动开始拖尾该文件.

可以通过观察文件"文件管理已关闭"的尾部输出然后再次运行以下命令来编写此脚本.

tail -100f `ls -t | head -1`
Run Code Online (Sandbox Code Playgroud)

有没有比通过观察"文件管理关闭"文本更优雅的方式?我怎样才能在shell脚本中逐行读取尾部的输出?

编辑:我应该解释一下尾部的-F标志对我来说不是一个选项.它使用不同版本的尾部,不包含此功能.操作系统版本 - Solaris 10

bash shell logging tail

15
推荐指数
1
解决办法
6815
查看次数

标签 统计

bash ×1

logging ×1

shell ×1

tail ×1