我对 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