How to remove content from file

5 views (last 30 days)
Lalit Patil
Lalit Patil on 4 Dec 2012
In this text file there are two columns. In second column i want to remove all those rows which falls between 279 to 291. So, how to do it..?

Answers (1)

Walter Roberson
Walter Roberson on 4 Dec 2012
YourData = load('merged.txt');
YourData(YourData(:,2) > 279 & YourData(:,2) < 291, :) = [];
save('Newmerged.txt', 'YourData', '-ascii');
Note that I have interpreted "between" as meaning not equal to 279 or 291 exactly, the open interval (279,291), rather than the closed interval [279, 291]
  2 Comments
Lalit Patil
Lalit Patil on 4 Dec 2012
But, in this new generated text file how can i know which second column data corresponds to which first column data..?
Here two columns are generated, so, can't identify sequence..
So, i want same format of text file which was in merged.txt only need to remove data from range (279,291) and its corresponding first columns data's row..
Walter Roberson
Walter Roberson on 4 Dec 2012
The above code removes all rows in which the second column is in (279,291), producing an output file which has two columns, with each row being one of the original rows.
If you just wanted to remove items from the second column leaving the first column entirely in place, then you would end up with a second column which was shorter than the first column, and MATLAB cannot store numeric arrays which do not have equal number of values in the columns.
I'm wondering if you are trying to exclude data in that range, or if what you want is only the data in that range?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!