How to remove some lines of a file?
40 次查看(过去 30 天)
显示 更早的评论
I have a File of 8.760 lines. I'll use just the first 744 lines. How can I delete the others?
2 个评论
Bob Thompson
2018-2-19
What type of file is it? What type of data does it contain?
The general method I would suggest would be to read the file into matlab somehow, and then remove the data you don't need before reprinting the truncated file.
采纳的回答
Akira Agata
2018-2-20
Assuming your file is a text file, you can extract the first 744 lines ans save it like this:
% Full path of the sample text file
filePath = fullfile(matlabroot,'examples','matlab','sonnets.txt');
% Read the file
fid = fopen(filePath,'r');
str = textscan(fid,'%s','Delimiter','\n');
fclose(fid);
% Extract first 744 lines
str2 = str{1}(1:744);
% Save as a text file
fid2 = fopen('test.txt','w');
fprintf(fid2,'%s\n', str2{:});
fclose(fid2);
2 个评论
Akira Agata
2018-2-20
> Because the new data is like that:
This is because the fprint in my script does not add carriage return ('\r') at the end of the line. To add this, please use the following:
fprintf(fid2,'%s\r\n', str2{:});
By the way, if your data file contains numbers only, you can use dlmread and dlmwrite and do your task much easier, like:
x = dlmread('yourData.txt');
dlmwrite('test.txt',x(1:744),'newline','pc');
...only 2 lines!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Data Preparation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!