Moreutils tsによる配管
シリアルポートに着信ストリームがあり、毎秒約1回新しいラインが表示されます 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 Moreutilsの一部であるtsを見つけました。これにパイプして更新タイムスタンプを取得できます。 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:~$ …