Questions tagged «tail»

在有或没有tail实用程序的情况下,在文件末尾监视更新

4
从文件末尾到开头的Grep
我有一个大约30.000.000行(半径会计)的文件,我需要找到给定模式的最后一个匹配项。 命令: tac accounting.log | grep $pattern 给出了我需要的东西,但是它太慢了,因为操作系统必须先读取整个文件,然后再发送到管道。 因此,我需要快速的东西,可以从最后一行读取文件到第一行。

8
如何使Vim表现得像“ tail -f”?
我想知道是否有一种方法可以使Vim表现得像tail -f。 即使是到目前为止我发现的最好的Vim插件也无法达到我的期望。 我真的很想实时查看文件更新。即使我没有键盘,我也希望Vim不断重新加载缓冲区并跳到最后一行。 这个怎么做? (我不想重新加载整个文件,因为某些日志文件非常大。最好的是只加载最后一行,就像这样tail -f做。)
36 vim  tail 

3
通过ssh在多台机器上的尾日志文件
我正在尝试tail在多个远程计算机上创建日志文件,并将输出转发到本地工作站。我希望按Ctrl- 时关闭连接C。 目前,我具有以下功能,几乎可以按预期工作。 function dogfight_tail() { logfile=/var/log/server.log pids="" for box in 02 03; do ssh server-$box tail -f $logfile | grep $1 & pids="$pids $!" done trap 'kill -9 $pids' SIGINT trap wait } 连接关闭,我收到的输出tail。但是,由于输出是成批进行的,因此存在某种缓冲。 这是有趣的部分…… 执行以下命令并将“测试”附加到/var/log/server.log远程计算机上的文件4-5次后,我可以看到相同的缓冲行为… ssh server-01 "tail -f /var/log/server.log | grep test" ……找到了禁用它的两种方法…… 将-t标志添加到ssh。 ssh -t server-01 …
36 linux  ssh  tail 

4
为什么“ tail -f…| 尾巴”无法产生任何输出?
为什么以下命令不产生任何输出? $ tail -f /etc/passwd | tail 阅读有关缓冲的内容后,我尝试了以下操作,但无济于事: $ tail -f /etc/passwd | stdbuf -oL tail 请注意,以下内容确实会产生输出: $ tail /etc/passwd | tail 这样: $ tail -f /etc/passwd | head 我使用的是尾部版本8.21(GNU coreutils)。
36 pipe  tail 

1
tail -f是否比less + F更有效?
本文指出了使用less +Fover的一些原因tail -f。大多数原因与功能有关,而非技术原因:less +F可以突出显示,搜索,浏览文件。 技术原因如何? AFAIK,less使用轮询每一秒更新文件,同时tail,如POSIX定义使用一个循环,1秒睡觉和副本可用任何字节。这足够了,但是POSIX也鼓励实现使用更有效的方法。至少GNU尾部使用了inotify,因此效率更高。 less 还可以将文件内容保留在内存中,因此对于大文件(如数GB),它可能会降低计算机的速度。 那么,有没有任何其他技术使用的原因tail -f了less +F?
34 tail  less 

3
从grep到awk的管道不起作用
我正在尝试grep正在进行tail的文件日志,并n从一行中获取第一个单词。示例文件: $ cat > test.txt <<EOL Beam goes blah John goes hey Beam goes what? John goes forget it Beam goes okay Beam goes bye EOL ^C 现在,如果我做一个tail: $ tail -f test.txt Beam goes blah John goes hey Beam goes what? John goes forget it Beam goes okay Beam goes …
34 bash  grep  rhel  awk  tail 

1
我是否需要担心“ tail:无法识别的文件系统类型0xbeefdead”?
我正在尝试使用跟随常规文本文件tail -f -n 50 filename。我总是从文件中获取信息,除了我总是会收到以下错误消息: tail:无法识别的文件系统类型0xbeefdead 它发生在每个文件上。该0xbeefdead让我担心-它看起来像一个黑客标签。 $ tail --version tail (GNU coreutils) 8.4
32 tail 

3
如何“追踪并跟踪”文件?
正在按顺序下载文件wget。 如果我开始使用cat myfile.tar.bz2 | tar -xj来解包,它可能会正确解包,或者失败,并显示“意外的EOF”,具体取决于哪种速度更快。 如何“跟踪和跟踪”文件,即将文件内容输出到stdout,但不退出EOF,而是继续订阅该文件并继续输出数据的新部分,仅当文件被关闭时退出作家,并且在N秒内未重新打开。 我已经基于@arielCo的答案创建了一个脚本cat_and_follow,当不再打开该文件以进行写入时,该脚本也会终止。tail
31 files  pipe  cat  tail  open-files 

4
如何使用gnu texttools连续执行'wc -l'?
我当然知道 cat logfile.txt | wc -l 120 会告诉我文件中的行数。 鉴于 tail -f logfile.txt 将向我展示另一个程序写入的新行logfile.txt。 是否可以将两者结合在一起,以便我可以使用标准文本实用程序连续更新logfile.txt的行数? 我知道 watch wc -l logfile.txt 但是我不想每次都重新计算整个文件,这似乎是浪费。一个人可能需要每秒钟左右追加一次计数,可能\r需要\n在行尾添加一个,而不是一个。


4
结合尾巴&& journalctl
我正在跟踪自己的应用程序和postgres的日志。 tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log 我需要包括pgpool的日志。它曾经是syslog,但现在在journalctl中。 有没有办法将-f && journalctl -f尾部绑在一起?

3
少用管道?
可以更少地跟踪(通过按F)管道输入(类似于文件)吗?对于正在写入的文件,命令 less <file> 按F时将跟随文件。 但是如果我有一条命令将输出直接传送到更少的内容,像这样 command | less 按F不会执行任何操作。 如此看来,管道无法像文件一样被追踪?也许与写STDERR的命令有关?我试图实现的效果始终是看到命令的最新输出:就像按住PageDown一样! 有一个相关的说法适用于G(结束):当直接传递给小号时,它将不起作用。
25 pipe  less  tail 

9
显示文件的前几行和后几​​行的命令
我有一个包含很多行的文件,每行的开头都有一个时间戳,例如 [Thread-3] (21/09/12 06:17:38:672) logged message from code..... 因此,我经常检查此日志文件中的2件事。 还给出了具有全局条件和开始时间的前几行。 最后几行具有退出状态以及其他一些信息。 是否有任何方便的单个命令可以让我仅显示文件的前几行和后几​​行?

6
有没有办法使尾巴-F发出哔声?
当有新数据传入时(有新行添加到文件中),有没有办法发出tail -F或less发出蜂鸣声(在终端响起铃声)。还是在Linux或Mac上有其他的Unix实用程序来执行此操作。
23 less  tail  bell 

5
如何不使用Ctrl + c退出“ tail -f”模式?
当我这样做时tail -f filename,如何退出模式而不用Ctrl+c杀死进程? 我想要的是一种正常的退出方式,例如q中的top。 我只是对这个问题感到好奇,因为我觉得终止进程不是放弃某些事情的好方法。
22 tail 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.