有人可以提供任何想法,我如何将数据从 nc 传输到 sed(或 awk 或其他任何东西)并在每行之后评估并写入文件时间戳?我有的:
# cat /etc/systemd/system/ncserver.service
[Unit]
Description=netcat listener
After=network.target
[Service]
Restart=always
RestartSec=1
ExecStart=/usr/bin/bash -c '/usr/bin/nc -n -v -l -k -p 1313 >> /opt/data/$(hostname)-$(date -u +%%y%%m%%d-%%H).txt'
[Install]
WantedBy=multi-user.target
简单的侦听器 - 通过原始 tcp 接收文本,发送到文件中(每天由 cron 重新启动一次以生成新文件)
我想将当前时间戳附加到每一行文本(在行的开头或结尾,没关系)。尝试过 sed、awk,但问题是我无法评估date
每一行 - 它仅在服务启动时评估一次。看起来像这样
109582 ? Ss 0:00 /usr/bin/bash -c /usr/bin/nc -n -v -l -k -p 1313 | /usr/bin/sed 's/^/'$(date +%s)
109583 ? S 0:00 /usr/bin/nc -n -v -l -k -p 1313
109584 ? S 0:00 /usr/bin/sed s/^/1617555467\;/g
管道可能根本不是答案,但我有点受到 bash 的限制。有任何想法吗?..