How can I edit a '.m' file by another '.m' file ?

64 views (last 30 days)
Can we edit a '.m' file from another '.m' file ? Like we can modify/update a model and save it by a M script.

Accepted Answer

Image Analyst
Image Analyst on 18 Feb 2017
Yes. Open it with fopen(), get lines out into strings with fgetl(), modify them as needed. Open an output file with fopen(), write the modified lines out. Close both files with fclose(). Delete the input file with delete(). Rename the output file to the input filename with movefile().
  7 Comments
Image Analyst
Image Analyst on 31 Aug 2021
@BABANBHAIGARI SHAFIULLAH, open a file for reading and writing. Then read until you recognize the section, then write to the output file:
% Open the input file for reading in text mode.
inputFileID = fopen(inputFullFileName, 'rt');
% Open the output file for appending in text mode.
outputFileID = fopen(outputFullFileName, 'at');
% Read the first line of the file.
textLine = fgetl(inputFileID);
lineCounter = 1;
writeToOutput = false; % Set to true once we get to the section we want.
while ischar(textLine)
% Print out what line we're operating on to the command window.
fprintf('%s\n', textLine);
% Read the next line.
textLine = fgetl(inputFileID);
lineCounter = lineCounter + 1;
if contains(textLine, '%%% Acceleration %%%')
writeToOutput = true;
end
if writeToOutput
fprintf(outputFileID, '%s\n', textLine);
end
end
% All done reading all lines, so close the files.
fclose(inputFileID);
fclose(outputFileID);
BABANBHAIGARI SHAFIULLAH
BABANBHAIGARI SHAFIULLAH on 31 Aug 2021
It worked for me. Thank you @Image Analyst for the detailed explanation.

Sign in to comment.

More Answers (0)

Categories

Find more on Entering Commands in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!