我想处理一个日志文件(使用C),其中数据用双冒号“::”分隔。我想像这样的工具awk
并且sed
会非常有效地做到这一点。但是 awk 输出值是否有可能传递给我的 C 变量?例如,一个日志信息是这样的:
a::b::c::d
我有一个struct
由 4 个int
元素组成的。如何将 4 个部分保存到结构元素中?
我曾想过使用strtok
libary call 作为另一种方式,但在调用它之前,我必须从一大堆日志信息中整理出合适的行,这让我更多地考虑sed
or grep
。
感谢您的帮助。如果你有更好的选择,那将是非常好的你分享它。
更新:我忘了强调上面提到的一切都是在运行时完成的,包括“根据给定的值排序匹配的行”,并处理它们,然后存储值。scanf
很好,但是如果里面string
有空格怎么办?