2016-09-25 5 views
0

У меня есть большой текстовый файл, который содержит много информации внутри. Мне нужно получить доступ только к линии, которая имеет звездочку с «***». Эта строка содержит 17 чисел с пробелом между ними.чтение определенных строк из .txt-файла

Пример файла,

Msg count = 2629  
max send msg count = 34  
avg send msg count = 10.27 
imbalance send msg count = 3.31  
------------------------------ 
max recv msg count = 35  
avg recv msg count = 10.27 
imbalance recv msg count = 3.41 

***1.100020 306852 1381937 11045 5398.19 2.05 10465 5398.19 1.94 2629 34 10.27 3.31 35 10.27 3.41 0.000000 


[INFO] +++ Sat Sep 24 15:15:33 2016 
+++ (test.c:816) stat1 end 

Есть ли способ сделать это?

ответ

0

Попробуйте использовать этот код:

infilename = 'nameoffile.txt'; % name of your file 
m = memmapfile(infilename); % load file to memory (and after close it) 
instrings = strsplit(char(m.Data.'),'\n','CollapseDelimiters',true).'; 

checkstr = '***'; 
% find all string (their indices) starting with checkstr 
ind = find(strncmpi(instrings,checkstr,length(checkstr))); 


if isempty(ind) 
    fprintf('\n No strings with %s',checkstr) 
else 
    % first string with string checkstr 
    instrings(ind(1)); 
end 
Смежные вопросы