使用 irssi 实时记录最后 N 行

使用 irssi 实时记录最后 N 行

我对 irssi (以及一般的 IRC)非常陌生,我只需要将 irssi 的最后 N 行记录到文本文件中,但我找不到任何有关如何执行类似操作的信息 -无论是内置功能还是脚本。

我想要做的是将最后 10 行左右的聊天内容实时叠加在视频上。为此,我可以使用 ffmpeg 过滤器,该过滤器会在磁盘上的文本文件更改时更新。因此,我想要做的是将活动的 irssi 会话中的最新 10 行连续写入文本文件。

我怎么能这么做呢?

答案1

irssi如果运行该命令的输出,tail您可以获得最后 X 行数,例如。cmd | tail -10

例子

使用该seq命令代替您的irssi命令。该seq命令将生成 1-100 之间的数字序列,如下例所示。

$ seq 100 | tail -10
91
92
93
94
95
96
97
98
99
100

要将其转储到文件,您可以使用/var/log/mychat.log重定向输出。tail>

$ seq 100 | tail -10 > afile
$ more afile 
91
92
93
94
95
96
97
98
99
100

如果您想在将输出写入日志文件时查看输出,可以使用该tee命令而不是文件重定向>.

$ seq 100 | tail -10 | tee afile
91
92
93
94
95
96
97
98
99
100

相关内容