Azzera filtri
Azzera filtri

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

45 visualizzazioni (ultimi 30 giorni)
Can we edit a '.m' file from another '.m' file ? Like we can modify/update a model and save it by a M script.

Risposta accettata

Image Analyst
Image Analyst il 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 Commenti
Image Analyst
Image Analyst il 31 Ago 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 il 31 Ago 2021
It worked for me. Thank you @Image Analyst for the detailed explanation.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by