Questions tagged «tail»

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

3
tail -f,在日志空闲3秒后插入换行符吗?
执行a时tail -f error.log,如何在3秒内未对文件执行任何操作后以编程方式插入换行符? (显然,一旦添加了一个换行符,则不应再添加其他换行符,除非将其他文本行添加到日志文件中) 例如,这些行被添加到error.log: foo bar boo [[wait 4 seconds]] 2far 2foo 2bar 2boo [[wait 40 seconds]] 2far 这将是控制台中的输出: foo bar boo 2far 2foo 2bar 2boo 2far

5
一次拖尾多个文件时,在每行开头显示文件名吗?
当一次拖尾多个文件时,如下图所示,有什么办法在每行的开头显示文件名吗? tail -f one.log two.log 电流输出 ==> one.log <== contents of one.log here... contents of one.log here... ==> two.log <== contents of one.log here... contents of two.log here.. 寻找类似的东西 one.log: contents of one.log here... one.log: contents of one.log here... two.log: contents of two.log here... two.log: contents of two.log here...
14 tail 

3
头/尾的负参数
这个问题的变体当然已经在不同的地方被问过几次了,但是我试图M从文件中删除最后几行而没有运气。 在第二个最投票的答案在这个问题建议做以下摆脱在文件的最后一行: head -n -1 foo.txt > temp.txt 但是,当我在OSX和Zsh中尝试该操作时,我得到: head: illegal line count -- -1 这是为什么?我如何删除M 最后一个行和在第一个 N给定文件的行?

1
如何尾部/ grep / awk文件的最后N个字节,而不是行
我有一个应用程序正在记录到纯文本日志文件(myapp.log),但似乎在每个日志条目的末尾都没有写换行符。如果执行类似的命令,tail -n 50 myapp.log我实际上会收到数百行“文本”(日志条目)。 该日志文件非常大,大约为1GB,谁知道最后一个CR和/或LF插入了多长时间。我怎样才能说例如最后2MB?
14 cat  tail 

2
如何开始拖尾尚未创建的文件
我tail用来监视我知道会将其进度写入磁盘的作业进度。几乎总是,我知道它们将在开始运行之前创建哪个文件(作业由超级计算机上的调度程序调度) 有没有一种方法,以tail这些文件被创建之前他们?我想这样做是在避免竞争条件和/或对作业如何或何时写入磁盘进行假设的同时。

2
命令删除输入中的前N行
背景 我正在运行SSH服务器,并且要删除此用户。我无法删除此用户,因为他当前正在运行一些我首先需要杀死的进程。 这是我当前正在使用的管道,以找出我当前正在使用的用户的所有进程ID: ps -u user | awk '{print $1;}' 输出看起来像这样: PID 2121 2122 2124 2125 2369 2370 我想用它kill -9杀死所有进程,所以我可以这样删除这个愚蠢的用户: ps -u user | awk '{print $1;}' | sudo xargs kill -9 但这由于PID标题而无法正常工作: kill: failed to parse argument: 'PID' 问题 我认为必须有一个简单的Unix命令才能删除输入的第一行。 我知道我可以使用tail它,但是我不想计算输入中包含多少行来准确地确定要显示的行数。 我正在寻找类似head或tail反转的内容(而不是仅显示流的第一部分/最后一部分,而是显示流的开始/结束以外的所有内容)。 注意 我设法通过简单地| grep [[:digit:]]在awk命令后添加来解决此问题,但是我仍在寻找删除文件第一行的方法,因为我认为在其他情况下这将非常有用。
11 command-line  sed  awk  tail  head 

1
无法通过`tail -f`查看文件的进度
令人惊讶的是,为什么现在tail -f不如以前那样工作。 我有以下命令运行以进行备份。 ubuntu@ubuntu:~$ sudo tar -cvf /media/ubuntu/My*Linux/ub*data/zebra.tar /media/ubuntu/home > z1 2> z2 && echo "pass" || echo "fail" 要查看输出和错误,有这两个文件z1和z2。 现在,我想在终端上从文件z1看到命令的输出: ubuntu@ubuntu:~$ tail -f z1 但是此命令未显示随时间追加的数据。 我正在使用USB笔驱动器实时安装Ubuntu 14.04.1。这可能是原因吗?
11 ubuntu  tail 

3
如何减少文件名而不是索引节点号?
我有一个软件,在重新启动时会旋转其日志文件。但是,在开发过程中,我经常重新启动它,因此我想随时监视最新的日志文件。 如果我less正常开始,less program.log然后按Shift+ f尾,则在旋转日志文件时,我会继续监视旧的日志文件。我认为这是因为inode编号保持不变,并且less具有该inode的打开文件句柄。 是否可以监视当前称为任何日志文件的最新活动program.log? 具体来说,我正在使用Sun OS,因此理想的解决方案是在其中运行。
11 logs  solaris  tail  less 

4
如何限制命令输出在bash中可用的行数?
我开始使用后台下载一个大文件 $ nohup wget http://example.tld/big.iso & 这也给了我一个nohup.out包含的输出的文件wget。 现在,如果以后要观看下载过程,可以使用,$ tail -f nohup.out但是填充终端窗口的速度比我期望的要快。我想看到的是最后一行不断更新(就像wget单独使用时一样)。 我尝试过,$ tail -n 1 -f nohup.out但似乎只影响最初的拖尾。 一般来说,如果可以限制(在这种情况下为1)命令输出具有可用/可见的行数,则可以解决此问题。将输出保存在循环缓冲区中的某种方式–只需考虑正常的进度条即可$ wget example.tld/big.iso打印。 有这样的解决方案吗? 还是我以错误的方式爬树?(意味着,限制nohup输出或执行其他操作会更容易吗?)
11 bash  tail  nohup  stdout 

1
如何制作将输出发送到进程的shell脚本
我目前正在屏幕上运行服务器控制台程序,因为我既需要阅读它,也需要偶尔发送命令。 我想在后台将应用程序作为守护程序运行(使用init启动/停止)。 我可以tail -f记录日志,但是那不能让我向过程发送输入。 有什么方法可以进行设置,以便我既可以读取也可以发送输入,但仍在后台运行它? 我还希望能够从不同的进程向守护程序发送输入(例如,可以发送“ Stop \ n”命令的shell脚本)。

3
使用tail时禁止显示“文件被截断”消息
我使用拖尾一个日志文件tail -f messages.log,这是输出的一部分: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eget tellus sit amet odio porttitor rhoncus. Donec consequat diam sit amet tellus viverra pellentesque. tail: messages.log: file truncated Suspendisse at risus id neque pharetra finibus in facilisis ipsum. 它显示tail: messages.log: file truncated文件何时被自动截断并且应该发生,但是我只想tail向我显示没有此截断消息的输出。 我已经尝试过使用,tail -f messages.log | grep …
11 grep  tail  output 

2
在运行某些命令期间从一个进程读取日志
我有一些服务可以在文件中生成日志logs.log。 我还有一些与此服务交互的命令。可以说是一些foo.sh。 我需要的是logs.log准确地在foo.sh运行期间剪切并保存日志。换句话说,当服务与我的服务交互时,我需要该服务的那部分日志foo.sh(因此我不在乎foo.sh的日志)。 我希望此命令能够解决问题,但是在foo.sh完成后它将继续读取文件: > foo.sh | tail -f logs.log > foo_part.log 有什么好方法可以执行此技巧吗?
10 bash  tail 

4
在命令行中从尾部执行文本的最简单方法是什么?
有时我正在使用新的(ubuntu)框,然后键入git并收到警告: The program 'git' is currently not installed. You can install it by typing: apt-get install git-core 如果发生这种情况,我知道我可以通过执行以下操作来抓住最后一行: !! 2>&1 | tail -n 1 但是,如何apt-get install git-core最轻松地执行()结果? 我知道我能做 `!! 2>&1 | tail -n 1` 但是还有一种方法可以实际通过管道传输并运行它吗?这似乎不起作用: !! 2>&1 | tail -n 1 | sh 而且该2>&1部分有点麻烦,所以我想知道是否还有一种更简单的方法可以实现这一目标。 编辑 将其以某种方式保存到变量,然后执行该变量也是可以接受的: !! 2>&1 | tail …

1
如何从一开始就跟随二进制文件(la“ tail -f”)?
是否可以从头开始遵循二进制文件la tail -f? 在某些情况下,这很有用,例如,如果我正在scp将文件发送到远程服务器,同时又想将其提供给另一个进程(是的,我知道我可以使用ssh+ cat技巧)。 据我从FM所读的内容,tail在编写时要考虑到文本文件。 是否有使用标准posix工具进行此类操作的简单方法?

5
使用头和尾抓取不同的行集并保存到同一文件中
这是用于作业的,但我不会问具体的作业问题。 我需要使用头和尾从一个文件中抓取不同的行集。因此,像第6-11行和第19-24行一样,将它们都保存到另一个文件中。我知道我可以使用诸如 head -11 file|tail -6 > file1; head -24 file| tail -6 >> file1. 但是我不认为我们应该这样做。 我可以组合头命令和尾命令然后保存到文件中吗?
10 tail  head 

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.