将时间戳添加到shell脚本的cat输出中

Arg*_*gus 3 linux shell awk cat

我有一个小脚本,它将ttyUSB的输出转换为我希望在每行前加一个时间戳的文件.从命令行,这可以做我想要的一切:

$ cat /dev/ttyUSB0 /home/pi/daily_logs/ttyUSSB0 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我将它添加到脚本时一切正常但是没有添加awk时间戳.我的脚本行看起来像这样:

cat < /dev/ttyUSB0 > /home/pi/daily_logs/ttyUSB0 | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; } &
Run Code Online (Sandbox Code Playgroud)

任何帮助实现这一目标将不胜感激.

Ple*_*and 6

您需要将awk的输出重定向到文件,而不是cat.你拥有它的方式,awk什么都没有.实际上,你可能根本不需要猫:

awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' /dev/ttyUSB0 > /home/pi/daily_logs/ttyUSB0 &
Run Code Online (Sandbox Code Playgroud)