我正在尝试将netcat流写入本地文件,但我还想用一些元数据(即连接的源IP)实时注释每个流式条目,因为我将处理多个将写入同一文件的流。在
例如,以下命令(bash命令)可以正常工作:
nc 192.168.0.1 443 >> result.txt & echo -n "| Source: 192.168.0.1 | " >> result.txt
上面代码的问题是它只会第一次输入元数据。输出如下:
^{pr2}$我希望书面结果如下:
Source: 192.168.0.1 | !* Connected!
Source: 192.168.0.1 | X
Source: 192.168.0.1 | Y
Source: 192.168.0.1 | Z
Source: 192.168.0.2 | A #<--Written From different netcat stream
不幸的是,在netcat完成了它的工作之后,我无法运行脚本来添加元数据文本,因为我需要一些方法来标识正在写入的流,因为多个流将写入同一个文件。主要是在bash或python中寻找解决方案。在
尝试sed(streameditor):
这应该用文本
^{pr2}$^
替换每行的开头Source: 192.168.0.1 |
我用tail -f some.file | sed -u 's/^/Source: 192.168.0.1 | /g'>t.txt
测试了它,得到:注意:u标志用于防止sed使用缓冲区。此标志仅在linux下受支持,不支持mac OSX。在
相关问题 更多 >
编程相关推荐