我试图解决的问题如下:
我有一个.log文件,每x秒更新一次(我可以更改间隔(,其中包含一台测试设备的更新状态信息。每隔一段时间,就会在.log文件中添加另一行,其中包含更新的信息。我的目标是在Matlab中轻松查看最新的状态信息(.log文件的最后两行(。
以下是每个更新的示例,以防相关(单行文本(:
我尝试过的:
我使用readtable命令(如下所示(查看.log文件中的信息,但每次调用函数时,当我只想要/需要最后两行时,就会得到整个.log文件。
data = readtable('FileName.log','FileType','text')
我知道如果我使用.csv或.xlsx文件,这会更简单,但测试设备只更新.log文件,所以我不能只更改文件类型,因为那时它不会得到更新。
如有任何建议,不胜感激。
如果.log文件是纯文本格式(我根据您的代码片段假设(,您可以在MATLAB中使用以下系统命令获得文件的最后2行:
[status,output] = system(['tail -n 2 ', path]);
请记住,这需要tail
命令可用,默认情况下在windows中不可用,但您可以通过安装包含tail
命令的软件包(例如Cygwin(来解决此问题。