拖尾一个目录中的所有日志文件 | 排除压缩文件

Jac*_*ero 5 linux log-files tail exclude

我试图找到正确的命令来拖尾一堆日志文件,同时排除设置目录中的压缩文件。日志文件在变得过大时被压缩。

目前我正在使用:

tail -f /var/logs/myLog*
Run Code Online (Sandbox Code Playgroud)

这工作正常,但它也会拖尾 .gz 文件,这些文件是乱码。我只需要尾随没有此扩展名的文件。

Ant*_*des 6

通常tail -f /var/logs/myLog*log会起作用。但是,如果文件名的结尾是不可预测的,而实际上唯一的方法是排除以 结尾的文件.gz,则情况会变得更加复杂。一种可能性是这样的:

ls /var/logs/myLog* | grep -v .gz$ | xargs tail -f
Run Code Online (Sandbox Code Playgroud)


Jen*_*y D 3

如果文件名有任何其他共同点 - 例如名称长度、名称中的句点数量、名称结尾...您可以简单地调整您的 glob。

如果没有,还有其他一些方法:

tail -f `ls -l /var/logs/myLog* |grep -v .gz$`
Run Code Online (Sandbox Code Playgroud)

或者,使用 xargs:

ls /var/logs/myLog* | grep -v .gz$ | xargs tail -f
Run Code Online (Sandbox Code Playgroud)

  • 美元符号将搜索锚定到字符串的末尾。换句话说,传递名称中任意位置带有 gz 的文件 (3认同)