Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File Matlab命令访问每个文件的最后一行?_File_Matlab - Fatal编程技术网

File Matlab命令访问每个文件的最后一行?

File Matlab命令访问每个文件的最后一行?,file,matlab,File,Matlab,我有20个文本文件,我想使用matlab循环来获得每个文件的最后一行,而不考虑其他行。是否有任何matlab命令可以解决此问题?您可以尝试的一件事是将文本文件作为二进制文件打开,查找到文件末尾,并从文件末尾向后读取单个字符(即字节)。此代码将从文件末尾读取字符,直到遇到换行符为止(如果在文件末尾找到换行符,则忽略该换行符): 在Unix上,只需使用: [status result] = system('tail -n 1 file.txt'); if isstrprop(result(end),

我有20个文本文件,我想使用matlab循环来获得每个文件的最后一行,而不考虑其他行。是否有任何matlab命令可以解决此问题?

您可以尝试的一件事是将文本文件作为二进制文件打开,查找到文件末尾,并从文件末尾向后读取单个字符(即字节)。此代码将从文件末尾读取字符,直到遇到换行符为止(如果在文件末尾找到换行符,则忽略该换行符):

在Unix上,只需使用:

[status result] = system('tail -n 1 file.txt');
if isstrprop(result(end), 'cntrl'), result(end) = []; end

在Windows上,您可以从或项目中获取
尾部
可执行文件。

它可能效率不高,但对于短文件来说就足够了

function pline = getLastTextLine(filepath)
fid = fopen(filepath);

while 1
    line = fgetl(fid);

    if ~ischar(line)
        break;
    end

    pline = line;
end
fclose(fid);

每个文件中的行数不同,可以是随机的。
function pline = getLastTextLine(filepath)
fid = fopen(filepath);

while 1
    line = fgetl(fid);

    if ~ischar(line)
        break;
    end

    pline = line;
end
fclose(fid);