使用 awk 读取串行输入,插入日期

2024-04-09

我正在尝试重新格式化串行输入,该输入由两个用逗号分隔的整数组成(从 Arduino 发送):

1,2
3,4
0,0
0,1

我想在每行后面附加日期,用制表符分隔所有内容。到目前为止,这是我的代码:

cat /dev/cu.usbmodem3d11 | awk 'BEGIN {RS=","};{printf "%i\t%i\t%s",$1,$2,system("date")}'

这是我得到的结果(带有我所在区域的日期):

1   2   0Mer 26 fév 2014 22:09:20 EST
3   4   0Mer 26 fév 2014 22:09:20 EST
0   0   0Mer 26 fév 2014 22:09:20 EST
0   1   0Mer 26 fév 2014 22:09:20 EST

为什么我的日期字段前面有一个额外的“0”?抱歉,新手问题:(

EDIT这段代码解决了我的问题。感谢所有提供帮助的人。

awk 'BEGIN {FS=","};{system("date")|getline myDate;printf "%i\t%i\t%s",$1, $2, myDate}' /dev/cu.usbmodem3d11

我不清楚为什么,但为了使日期不断更新并记录收到数据的时间,我必须使用system("date")而不是仅仅"date"在上面的代码中。


2 things

如果您添加一个,会更容易看到您的问题\n在你的最后printf string

那么输出是

>echo '1,2' | awk 'BEGIN {RS=","};{printf "%i\t%i\t%s\n",$1,$2,system("date")}'
Wed Feb 26 21:30:17 CST 2014
1       0       0
Wed Feb 26 21:30:17 CST 2014
2       0       0

我猜输出来自system("date")返回 awk 范围“外部”的输出$0处理的每行输入的自然范围。其他人也许能够提供更好的解释。

为了获得你想要的输出,我正在使用getline函数捕获的输出date对变量的命令(myDt)。现在输出是

> echo '1,2' | awk 'BEGIN {RS=","};{"date" | getline myDt ; printf "%i\t%i\t%s\n",$1,$2,myDt}'
1       0       Wed Feb 26 21:31:15 CST 2014

2       0       Wed Feb 26 21:31:15 CST 2014

最后我们去掉“调试”\nchar,并获取您指定的输出:

> echo '1,2' | awk 'BEGIN {RS=","};{"date" | getline myDt ; printf "%i\t%i\t%s",$1,$2,myDt}'
1       0       Wed Feb 26 21:34:56 CST 2014
2       0       Wed Feb 26 21:34:56 CST 2014

而且,根据 Jaypal 的帖子,我现在看到了FS=","是另一个问题,所以当我们进行更改并返回“\n”字符时,我们有

echo '1,2' | awk 'BEGIN {FS=","};{"date" | getline myDt ; printf "%i\t%i\t%s\n",$1,$2,myDt}'
1       2       Wed Feb 26 21:44:42 CST 2014
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 awk 读取串行输入,插入日期 的相关文章

  • 使用 /dev/tty* 进行 9 位 uart 仿真

    我有一个不常见的协议 它需要 9600 波特率 9 位和 1 个停止位 我找不到任何可以实现此发送 接收的驱动程序 我可以寄东西到 dev tty 用于模拟这些查询 我应该发送什么 如何模拟 9600 波特率 您可以使用粘性奇偶校验 也称为
  • 使用 awk 将稀疏矩阵转换为 ARFF

    我正在处理稀疏矩阵格式的极大数据集 数据具有归档格式 3 个制表符分隔的列 其中第一列中的字符串对应于行 第二列中的字符串对应于属性 第三列中的值是加权分数 church place 3 church institution 6 man p
  • 如何检查列的值是否位于其他文件中两列的值之间并从 Unix 中的列中打印相应的值?

    我有两个文件要比较 我找到了如何比较列并根据条件进行打印 我手头的问题是 我必须检查 file1 中的 column 2 的值是否位于 file2 中定义为两列范围 col 2 col 3 的值之间 如果这是真的 那么我应该在 file1
  • 使用 awk 计算行的平均值

    我一直在编写一个脚本 通过读取 txt 文件的输入来计算行的平均值 示例文本输入文件输入 txt 157361 155687 156158 156830 149610 151824 152353 152027 159195 158490 1
  • 批处理 - 解析 Tracert 的输出

    我想寻求有关 Windows 中 Tracert 输出的一些帮助 即我有以下输出 Tracing route to Y Y Y Y over a maximum of 30 hops 1 1 ms 1 ms 1 ms X X X X 2 1
  • 使用 awk(或熟悉的)将多行合并为 1 行

    我需要将 nmap 输出中的多行合并为一行 FROM Nmap scan report for example com 22 tcp open ssh 80 tcp open http 111 tcp open rpcbind 1720 t
  • UWP 中的串行设备通信问题

    我有一个特殊的问题 我正在尝试与 UWP 项目中需要串行通信的外围单元进行通信 我在用Windows Devices SerialCommunication 为了演示目的 我创建了一个新页面 其中有两个按钮 以及两个不同的单击处理程序 一个
  • 匹配两个不同文件中最接近的值并打印特定列

    大家好 我有两个文件 每个文件都有 N 列和 M 行 File1 1 2 4 6 8 20 4 8 10 12 15 5 7 9 11 File2 1 a1 b1 c5 d1 2 a1 b2 c4 d2 3 a2 b3 c3 d3 19 a
  • Linux 上共享串口

    我正在使用 Raspberry Pi 进行一个项目 该项目需要能够写入和读取串行端口 但来自不同的程序 程序 A 需要能够从外围设备 A 正在发送数据的串行端口读取数据 程序B需要向串口写入数据 外设B正在监听串口 供参考 本例中程序A是G
  • 如何将文件的内容与列最后一个数字的增量连接起来

    我有一个包含一些内容的文件 需要重复第 n 次并添加最后一列号的增量 Input content of a file TCTA 7 ccta TCTA 1 TCTA 8 ccta TCTA 1 TCTA 9 ccta TCTA 1 TCTA
  • 了解 OFS 在 AWK 中的工作原理

    这是后续我的问题 https stackoverflow com questions 55876705 awk ofs is not working with fs character set了解有关 AWK 中 OFS 的更多信息 我的理
  • 正则表达式用 SED/AWK 替换特定列

    我的数据如下所示 制表符分隔 Organ K ClustNo Analysis LN K200 C12 Gene Ontology LN K200 C116 Gene Ontology CN K200 C2 Gene Ontology 我想
  • 如何使用 awk 将一组重复的行转置为列

    我有一个文本文件 其中包含 7 列数据 格式如下 18030 AAJ51 FTO rs9939609 C 30090620 10 A T 18030 AAJ51 CAT rs1001179 C 11468118 10 C C 18030 A
  • 将 CSV 文件拆分为较小的文件但保留标题?

    我有一个巨大的 CSV 文件 有 100 万行 我想知道是否有一种方法可以将此文件拆分为较小的文件 但保留所有文件的第一行 CSV 标题 它似乎split速度非常快 但也非常有限 您不能向文件名添加后缀 例如 csv split l1100
  • 在 awk 中按特定顺序打印文件

    我正在关注这个链接https stackoverflow com a 54599800 10220825 https stackoverflow com a 54599800 10220825 file txt Iteration 1 RA
  • C#等待串口数据

    我试图通过 C 应用程序从指纹扫描仪获取数据 但在指纹发送之前 我的整个代码都会执行 我尝试使用延迟功能System Threading Thread Sleep 1000 因此它可以在下一步执行之前获取数据 但这一切似乎都是徒劳的 任何人
  • 计算串行通信的块校验字符 (BCC)

    我通过 NET 的 SerialPort 类通过串行与设备进行通信 并且根据第三方设备规范要求 我需要计算 块检查字符 我被告知的唯一信息是 这是一个异或运算 XOR 并且必须对所有角色执行 那么 如果我有字符串 Bob 001 将如何计算
  • 如何在 awk 或 sed 中编写查找所有函数(使用正则表达式)

    我有运行 python 的 bash 函数 它从标准输入返回所有找到的正则表达式 function find all python c import re import sys print n join re findall 1 sys s
  • 当存在多个字段分隔符时使用 AWK 忽略字段内的逗号

    我想像下面这样解析 CSV 记录awk or gawk 这些字段以逗号分隔 但最后一个字段 6 很特殊 因为它确实由子字段组成 这些子字段由 作为字段分隔符 或者 准确地说 分隔 这本身不是问题 我可以使用awk F 设置替代字段分隔符 但
  • 通过串行端口通过诺基亚手机发送短信

    我正在尝试通过诺基亚手机通过串口发送短信 这通过腻子很容易 命令来自诺基亚文档 http wiki forum nokia com index php Using AT commands to send and read SMS工作正常 然

随机推荐

  • 使用 CFExecute 运行 VBScript 会引发错误,但通过命令行可以正常工作

    我正在尝试运行 VBScript 但 CFExecute 抛出错误
  • Django:使用管理上下文扩展基于类的视图的上下文

    我有一个基于类的视图 它只显示配置列表 使用以下代码将此视图添加到 Django 管理站点 admin register ZbxHostConf class ZbxHostConfListViewAdmin admin ModelAdmin
  • MS Graph API:身份验证令牌无效

    我正在尝试使用 Microsoft Graph API 查询 Outlook O365 邮箱中的邮件 我注册我的应用程序 https graph microsoft io en us docs authorization app only在
  • 从 Intellisense 中隐藏(抽象)类

    我有几个抽象类是类库 想从 Intellisense 中隐藏 该怎么做 在类声明之前使用属性 Browsable false EditorBrowsable EditorBrowsableState Never edit 如果类代码在您的解
  • array[::-1] 的时间复杂度和空间复杂度是多少

    当在Python中反转列表时 我通常使用数组 1 进行反转 并且我知道更常见的方法可能是从列表的两侧进行交换 但我不确定这两种解决方案之间的区别 例如时间复杂度和空间复杂度 这两种方法的代码如下 def reverse array arra
  • 如何强制Delphi编译器显示所有提示和警告

    有没有办法强制Delphi编译器一直显示所有提示和警告 这是我目前在 Delphi 6 中看到的行为 从源代码管理中查看我的应用程序的最新副本 在Delphi中打开项目并编译 显示项目的所有提示和警告 更改一个单位 Compile 仅显示更
  • 图像交换按钮(Jquery)

    我有一个按钮 当单击它时 我想用图像替换该按钮 我怎样才能在 JQuery 中做到这一点 是否也可以替换图像的背景 按钮本身位于一个大 div 内 我不想在按钮周围添加另一个 div 因为它会弄乱以前的布局 如果你想替换按钮元素 the b
  • 在java中验证时间戳格式yyyy-MM-dd'T'HH:mm:ssZ?

    我正在尝试做一个时间戳验证使用乔达时间 1 6 2 请指出我的错误并帮助我 Code String timestamp 2014 09 23T23 03 11Z String datePattern yyyy MM dd T HH mm s
  • CreateProcess error=2 从 Ant 运行 javadoc

    谁能告诉我为什么会收到此错误消息 Buildfile C Users Tara workspace Testing build xml doc delete Deleting directory C Users Tara workspace
  • OS X 蓝牙编程

    我想创建 OS X 应用程序以通过蓝牙与 Lego Mindstorms NXT 2 0 配合使用 我尝试用 Objective C 和 Python 来实现 但是两者都存在一些问题 关于目标 C 我只发现this https develo
  • 如何在 R 中将多个文件 read.table() 放入单个表中?

    我有名为
  • nodejs mysql 错误:连接丢失 服务器关闭了连接

    当我使用node mysql时 在12 00到2 00之间出现错误 TCP连接被服务器关闭 这是完整的消息 Error Connection lost The server closed the connection at Protocol
  • 如何始终显示滚动条

    滚动视图中的滚动条仅在我开始滚动时才可见 我怎样才能始终显示它 目前最好的方法是使用android fadeScrollbars false 在 xml 中相当于ScrollView setScrollbarFadingEnabled fa
  • 如何获取 woocommerce 的所有产品?

    我已经建立了 Woo Commerce 其中有 1000 多种产品 使用 Woocommerce Rest api php 库我试图获取所有产品 但它给了我 10 个产品 如果我使用filter limit 它会给我大约 400 个产品 但
  • 验证失败/正常时禁用/启用 h:commandButton

    我有一个带有验证器和命令按钮的文本框 当文本框验证失败时 我想禁用命令按钮 否则应该启用它 我不想使用任何代码隐藏 因此它应该在 bean 中没有任何辅助属性的情况下工作 那么我如何根据验证器状态告诉命令按钮被禁用 启用
  • jQuery Mousemove:5px 变化时触发

    出于多种技术原因 我在 jQuery 上实现自己的 可拖动 功能 而不是使用 jQuery UI 并且我使用 mousedown 和 mousemove 事件来侦听尝试拖动元素的用户 到目前为止效果很好 我只是想每移动 5 像素 而不是逐像
  • 制作带有源子目录的文件

    我最新的项目是用 C 编写的 我使用的是 GNU Make 项目目录布局如下 project src subdir1 subdir2 containing tests doc bin 我希望能够致电make在顶级目录中 即项目目录中需要一个
  • 在 Java 中使用 lambda 表达式有运行时优势吗? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在阅读一些关于 Java 8 中提供的 lambda 表达式的博客和答案 我无法弄清楚单位 lambda 表达式是否有任何运行时优势 我
  • Jupyter笔记本,如何同时运行多个单元?

    我定义了一个运行 bash 脚本的 python 函数 假设该函数是 calc x y z 如果我在 python 中使用一些变量运行这个函数 gt gt gt calc 1 2 3 它生成一个 C 代码 使用变量来模拟某些东西 x 1 y
  • 使用 awk 读取串行输入,插入日期

    我正在尝试重新格式化串行输入 该输入由两个用逗号分隔的整数组成 从 Arduino 发送 1 2 3 4 0 0 0 1 我想在每行后面附加日期 用制表符分隔所有内容 到目前为止 这是我的代码 cat dev cu usbmodem3d11