How can I edit a '.m' file by another '.m' file ?
45 views (last 30 days)
Show older comments
Abhijit Chougule
on 18 Feb 2017
Commented: BABANBHAIGARI SHAFIULLAH
on 31 Aug 2021
Can we edit a '.m' file from another '.m' file ? Like we can modify/update a model and save it by a M script.
0 Comments
Accepted Answer
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
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
on 31 Aug 2021
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!