使用 Netcat 处理实时流

Processing real-time stream using Netcat

我正在尝试处理实时电子邮件流并且我熟悉 BASH。

我正在使用 netcat 收听流。电子邮件在 JSON 中 return 编辑,新电子邮件用回车符划定 -return。

我正在尝试弄清楚如何将每封电子邮件写入它自己的唯一文件。从那里,我可以根据需要处理 JSON。

与我交谈过的几个人说我“不应该为此目的使用 BASH,但我可能可以让它工作”。我正在寻找其他人的反馈。

而且,我希望有人可以帮助我使用 nc 输出到每个车厢上的文件 return。

谢谢

**** 示例 ****

nc localhost 123

将打开流并开始收听

return编辑的信息如下所示:

"to\":\"guy@mail.com\",\"x-connecting-ip\":\"12.12.12.12\",\"subject\":\"[Test Email] Email to fax=ABCDE_1234B1234\"

新邮件之间用回车分隔 return。我想将这些电子邮件中的每一封都写入一个唯一的文件并继续收听流。

最简单的方法是使用 "split" 命令

nc localhost 123 | split -l 1

这将在每行创建 1 个名为 "xaa"、"xab"、"xac" 等的文件。查看拆分手册页以获取更多选项。