首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Hexdump绑定时间戳?

用Hexdump绑定时间戳?
EN

Unix & Linux用户
提问于 2016-04-26 14:29:43
回答 2查看 463关注 0票数 0

我正在运行一个脚本,如下所示

代码语言:javascript
复制
sudo  hexdump -v -e '1/1 "%02x\n"' /dev/ttyUSB0  | Many Pipes | gawk '{ print strftime(":: %s"), $0 }'

在这里,数据是用时间戳转储的,下面给出了它,

代码语言:javascript
复制
:: 1461680718 ::ED.DATA

:: 1461680718 ::ED.DATA

:: 1461680718 ::ED.DATA

:: 1461680718 ::ED.DATA

:: 1461680718 ::ED.DATA

:: 1461680718 ::ED.DATA

:: 1461680719 ::ED.DATA

正如您所看到的,对于所有数据包,时间并没有改变。我认为这是因为我在转储数据,而不是读行。有没有办法为每个包编写脚本并确保得到不同的值(以秒为单位)

EN

回答 2

Unix & Linux用户

发布于 2016-04-26 14:34:00

同样的时间来自缓冲。尝试查找队列中缓冲的命令,并尝试命令unbuffer

票数 0
EN

Unix & Linux用户

发布于 2016-04-27 15:42:41

我在jessie上尝试了下面的操作,并且在stdbuf -oL前面按预期工作没有问题。

代码语言:javascript
复制
while sleep .5;do echo -n x;done |
stdbuf -oL hexdump -v -e '1/1 "%02x\n"' |
ts %.s |
cat

while模拟慢输入,ts时间戳每一行,cat只是提供另一个管道。输出是规则的,时间戳在前2行之后大约是.5秒。ts命令来自moreutils包。

尝试在管道中的每个命令上使用stdbuf -oL

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/279203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档