标签: tail

如何拖尾文件夹和子文件夹中的所有日志文件?

在Linux中,使用该命令tailf,如何拖动文件夹和子文件夹中的多个日志文件?

unix logging command-line tail

38
推荐指数
3
解决办法
4万
查看次数

如何拖尾远程文件?

我试图找到一个在远程主机上拖尾文件的好方法.这是在Linux机器的内部网络上.要求是:

  1. 必须表现良好(没有额外的过程,或继续输出)

  2. 不能要求某人的宠物Perl模块.

  3. 可以通过Perl调用.

  4. 如果可能,在远程计算机上不需要自定义构建的脚本或实用程序(常规的linux实用程序很好)

我尝试过的解决方案通常都属于这种类型

ssh remotemachine -f <some command>
Run Code Online (Sandbox Code Playgroud)

"一些命令"已经:

tail -f logfile
Run Code Online (Sandbox Code Playgroud)

基本尾部不起作用,因为远程进程在本地ssh进程终止后继续将输出写入终端.

$socket = IO:Socket::INET->new(...);
$pid = fork();
if(!$pid)
{
  exec("ssh $host -f '<script which connects to socket and writes>'");
  exit;
}

$client = $socket->accept;
while(<$client>)
{
  print $_;
}
Run Code Online (Sandbox Code Playgroud)

这样做效果更好,因为在本地进程退出后没有输出到屏幕但远程进程没有发现它的套接字已关闭并且它无限期地存在.

ssh scripting perl tail netcat

37
推荐指数
1
解决办法
2万
查看次数

如何在Bash中使用tail获取文件的最后一个非空行?

如何tail在Bash shell下使用最后一个非空行?

例如,my_file.txt看起来像这样:

你好
hola
bonjour
(空行)
(空行)

显然,如果我这样做,tail -n 1 my_file.txt我会得到一个空行.就我而言,我想得到bonjour.我怎么做?

bash tail line

34
推荐指数
4
解决办法
4万
查看次数

在Bash中输出从最后到第一个的文件行

我想显示我的日志文件的最后10行,从最后一行开始 - 就像普通的日志阅读器一样.我认为这将是tail命令的变体,但我无法在任何地方找到它.

linux bash shell tail

34
推荐指数
3
解决办法
3万
查看次数

如何获取linux实用程序尾部的源代码?

这个命令非常有用但我可以在哪里获取源代码,看看里面发生了什么.

谢谢 .

linux tail uclinux

31
推荐指数
1
解决办法
2万
查看次数

结尾tail -f以shell脚本开头

我有以下内容.

  1. Java进程将日志写入stdout
  2. 一个启动Java进程的shell脚本
  3. 另一个shell脚本,它执行前一个脚本并重定向日志
  4. 我使用tail -f成功消息的命令检查日志文件.

即使我在代码中有0出口,我也无法结束这个tail -f过程.

哪个不让我的脚本完成.在Bash中有没有其他方法可以做到这一点?

代码如下所示.

function startServer() {
  touch logfile
  startJavaprocess > logfile &

  tail -f logfile | while read line 
  do
    if echo $line | grep -q 'Started'; then
      echo 'Server Started'
      exit 0
    fi
  done
}
Run Code Online (Sandbox Code Playgroud)

bash tail

26
推荐指数
3
解决办法
4万
查看次数

通过grep管道尾部输出两次

使用典型的Apache访问日志,您可以运行:

tail -f access_log | grep "127.0.0.1"
Run Code Online (Sandbox Code Playgroud)

这只会显示指定IP地址的日志(因为它们已创建).

但是,为什么grep在第二次管道时会失败,以进一步限制结果?

例如,".css"的简单排除:

tail -f access_log | grep "127.0.0.1" | grep -v ".css"
Run Code Online (Sandbox Code Playgroud)

不会显示任何输出.

unix bash shell grep tail

26
推荐指数
2
解决办法
7252
查看次数

如何实现py -onic等价的tail -F?

对于某些关键字的出现,观察不断增长的文件尾端的pythonic方法是什么?

在shell中我可能会说:

tail -f "$file" | grep "$string" | while read hit; do
    #stuff
done
Run Code Online (Sandbox Code Playgroud)

python file tail

25
推荐指数
2
解决办法
2万
查看次数

Grep一个日志文件,表示两个字符串之间最后一次出现的字符串

我有一个日志文件trace.log.在这里面,我需要到grep为包含在字符串中的内容<tag></tag>.这对字符串有多组,我只需要在最后一组(换句话说,来自tail日志文件)之间返回内容.

额外信用:只有当内容包含"testString"时,我才能返回两个字符串中包含的内容?

谢谢你的期待.

编辑:搜索参数和包含在不同的行上,大约有100行内容将它们分开.内容就是我追求的......

unix grep tail

24
推荐指数
2
解决办法
4万
查看次数

做尾巴-F直到匹配模式

我想在文件上做一个尾部-F,直到匹配一个模式.我找到了一种使用awk的方法,但恕我直言,我的命令并不是很干净.问题是我需要在一行中完成,因为有一些限制.

tail -n +0 -F /tmp/foo | \
awk -W interactive '{if ($1 == "EOF") exit; print} END {system("echo EOF >> /tmp/foo")}'
Run Code Online (Sandbox Code Playgroud)

尾部将阻塞,直到EOF出现在文件中.它工作得很好.END块是强制性的,因为awk的"退出"不会立即退出.在退出之前使awk评估END块.END块在读取调用时挂起(因为尾部),所以我需要做的最后一件事就是在文件中写入另一行来强制尾部退出.

有人知道更好的方法吗?

shell awk sed tcl tail

22
推荐指数
4
解决办法
2万
查看次数

标签 统计

tail ×10

bash ×4

shell ×3

unix ×3

grep ×2

linux ×2

awk ×1

command-line ×1

file ×1

line ×1

logging ×1

netcat ×1

perl ×1

python ×1

scripting ×1

sed ×1

ssh ×1

tcl ×1

uclinux ×1