File Exchange

image thumbnail

readline.m v4.0

version (9.96 KB) by Carlos Adrian Vargas Aguilera
Reads the specified line(s) from a file.

1 Download

Updated 01 Jan 2016

View License

% Reads the first line (default)
s = readline('data.txt');
% Reads the 8th line
s = readline('data.txt',8);

% Reads the [1 2 4 8] lines
s = readline('data.txt',[1 2 4 8]);
% Reads last 7 lines
s = readline('data.txt',[-7; -1]);
% Or just, reads the whole file
s = readline('data.txt','all');

In general, the output is a cell of strings. You may force a string matrix output with a third argument
s = readline('data.txt','all','string');

Cite As

Carlos Adrian Vargas Aguilera (2020). readline.m v4.0 (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (13)


Thank you.

Simon Musall

Very handy, thanks for the submission

Martin Richard

Well done

Is not true Gabriel, it need to be like that so to be able to generate range from negative inputs. The author.

Thank you.

When called readline(file, lines) and lines is a vector, it should not matter wether lines is a row or column vector.

Peter K. Lord

Very practical and easy to use.

Carlos Adrian Vargas Aguilera

New version ready.

Carlos Adrian Vargas Aguilera

Us is terrible right... the code can be improved to be much more faster and it even has some errors (do not close the file, etc). Please wait to new submition...

Urs (us) Schwarz

sorry, but for once(!) i strongly and distinctly disagree with mr shvorob and jd: this is NOT the way to do it in a typical 21st century computational environment.

John D'Errico

Sorry, I forgot to add the rating.

John D'Errico

Yes, I agree with Dimitri. This is not a world class piece of code, in the sense that it solves some problem of Nobel prize importance. This is only a wrapper for some simple calls.

But as Dimitri said, it does what it claims to do. It is well documented. It has an H1 line, proper error messages. I find it a pleasure to see code well done. Maybe I'm just relieved to find something well done in comparison to the rest of the crop uploaded to the file exchange on this day. Regardless, I'll give this a 5 rating. If you need/want something that does what this does, then this code does it well.

Carlos Adrian Vargas Aguilera

Just for fun, Dimitri (and more clearer writing of course)...

Dimitri Shvorob

So much code for a fairly straightforward FGETL wrapper? Still, it works, no complaints.


V4.0 Now accepts 'all' input. Uses TEXTSCAN instead of TEXTREAD.

V3.0 Rewritten code. Negative NLINES values now indicated number of line from the End-of-File, instead of from the last line. New pairwise optional inputs for TEXTSCAN.

1. I change the loops of FGETL by a single TEXTREAD function as suggested by Urs (us) Schwarz.

2. New easy way for the lines inputs. Now accepts ascending and descending (negative) ranges.

3. I eliminate the file identifier input.

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: saveascii.m v6.2 (Oct 2009)