Attached above is the log file.
Here is the code. can anyone help me how do I loop this in a manner that it can extract the needed data from the log? Thank you.
fileID = fopen('logfile (1).txt', 'r');
data = textscan(fileID,'%s');
table = string(data{:});
k = 1;
fprintf("Host: %s\n", table(k,1));
fprintf("Username: %s\n", table(k+2,1));
fprintf("Time: %s %s", table(k+3,1)+table(k+4,1));
fprintf("\nRequest: %s %s %s \n", table(k+5,1)+table(k+6,1)+table(k+7,1));

댓글 수: 2

Rik
Rik 2020년 10월 31일
I would suggest you try to parse this file line by line first to extract the data. Then you can try printing it in a form you need.
You also shouldn't name your variable table, as that might cause confusion with the table data type.
Rik
Rik 2020년 11월 3일
In case you try any funny business here as well: there is now an archive of your question (which includes your attachment).

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2020년 11월 1일

0 개 추천

fileread into a character vector. regexp with named tokens and the 'names' option to get back a struct array with the fields broken out.
After that either loop over the indices of the struct array, or else extract the struct fields into separate variables {data.Host} for example, and use compose to format the entries, strjoin to put a newline between the pieces, and fprintf the entire string at the same time.
There are also ways you could proceed using regexprep() that might be even easier.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

댓글:

Rik
2020년 11월 3일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by