使用MATLAB从文本文件中删除奇数行?

时间:2015-09-04 23:40:35

标签: matlab text-files

我有一个非常大的文本文件:

含量

无意义的内容

含量

无意义的内容

...

我仍然想要介于"内容"之间的空白行,所以我只想要"无意义的内容"线条为空白。理想情况下,我喜欢拥有:

含量

含量

含量

内容之间有一个完整的空白行。

所以我想用MATLAB删除偶数行。我无法使用Bash。我设置了以下代码:

fid = fopen('file.txt');

while ~feof(fid);
fileline=fgets(fid); 

if mod(linenumber,2) == 0
   delete line
end  

end
fclose all;

但是,我真的不知道行号的语法,原则上这段代码是否合理。任何批评或更好的方法来做到这一点?不幸的是,我无法使用Bash脚本。

1 个答案:

答案 0 :(得分:2)

执行此操作有两种基本方法:读取所有内容并提取感兴趣的数据,或逐行读取并写出所需的部分。哪种方法最好取决于所涉及的数据;如果它是一个可以完全安装在内存中的小文件,我可以一起阅读,因为逐行阅读并不是真正有效。

话虽如此,这是一个逐行执行的实现:

staffFactory.allStaff().then(function (staff) {
    $scope.staff = staff;
    console.log($scope.staff);
    $scope.CalcPay = staffFactory.CalcPay();
    $scope.keyPress = function(keyCode) {
        $scope.CalcPay = staffFactory.CalcPay();
    }; 
});