3

ttyUSBからの出力を、各行にタイムスタンプを追加したいファイルにキャットする小さなスクリプトがあります。コマンドラインから、これは私が望むすべてを行います:

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

私の問題は、スクリプトに追加するとすべてが機能するが、awkタイムスタンプが追加されないことです。私のスクリプト行は次のようになります。

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

これを実現するための助けをいただければ幸いです。

4

3 に答える 3

7

catではなく、awkの出力をファイルにリダイレクトする必要があります。あなたがそれを持っている方法では、awkは何も得られません。実際には、猫はまったく必要ないかもしれません

awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' /dev/ttyUSB0 > /home/pi/daily_logs/ttyUSB0 &
于 2013-01-04T17:14:45.423 に答える
1

> / home / pi / daily_logs/ttyUSB0をパイプの後に置く必要があります。そのようです:

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

于 2013-01-04T17:16:16.183 に答える
0

猫の無駄な使用は解決を妨げています。必要な変更を最小限に抑えるために、次のこともできます。

< /dev/ttyUSB0 > /home/pi/daily_logs/ttyUSB0 awk '...' &
于 2013-01-04T19:03:12.137 に答える