使用Moreutils ts进行配管
我的串行端口有输入流,新行大约每秒出现一次 wren@Raven:~$ cat /dev/ttyUSB0 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 A_Sensor1,B_22.00,C_50.00 我想去除空白行并为其余部分加时间戳。 sed将删除空白行并添加时间戳,但是我无法进行时间戳更新,它只会报告调用时间: wren@Raven:~$ cat /dev/ttyUSB0 | sed -e '/^$/d' -e "s/$/`date +\,%F\,%T`/" A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 A_Sensor1,B_22.00,C_50.00,2014-05-14,09:44:42 ^C 我找到了ts,它是Moreutils的一部分,可以通过管道获取更新时间戳。 wren@Raven:~$ cat /dev/ttyUSB0 | ts May 14 09:49:26 A_Sensor1,B_22.00,C_50.00 May 14 09:49:26 May 14 09:49:27 A_Sensor1,B_22.00,C_50.00 ^C 但是,我无法将ts与sed正确组合。 这看起来像它应该做我想要的,根本不产生任何输出 wren@Raven:~$ …