How to determine the line-number in a file that contains specific statements
13 次查看(过去 30 天)
显示 更早的评论
Dear All,
I do have a file that has a line starting with the following statement:
I Need This Line
What I need is to locate the line number of this line and fgetl of the file from beginning to this line(including this line). What should I do? Basically the problem here is the location of the wanted line varies from one file to another so that it makes way too difficult for me to obtain the information I want. Please be advised that I used fopen command to open my input file. Thank you so much
7 个评论
KSSV
2016-3-24
You are not opening the file properly....what is fid value? It shall be +ve. Cross check the value of line with your file.
采纳的回答
更多回答(1 个)
Orion
2016-3-24
Hi,
I guess you need something like that.
Assuming you have a .txt file : MyTextFiles.txt, that contains :
ruiez
gjrigj
rjigjri
I Need This Line and the rest of it ?
gjijri
pzepaz
you need a code like that :
% Open and read the content
Myfile = 'MyTextFiles.txt';
fid = fopen(Myfile);
Text = textscan(fid,'%s','delimiter','\n');
Text = Text{1};
fclose(fid);
% pattern to find at the beginning of a line
pattern = 'I Need This Line';
% analyze
found = 0;
for i = 1:length(Text)
if strncmp(Text{i},pattern,length(pattern))
found = i;
break;
end
end
% result
if found
fprintf('pattern at line %d\n',found)
else
fprintf('pattern not found')
end
Of course, you can optimize this code and add a for loop for all the txt files you need to analyse.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!