merging two text files and generate 1000 copies of the new text (or dat) file

1 visualización (últimos 30 días)
Hi, I need to generate a 1000 text (or dat) files to be fed into another software. I have two text files (aa.txt and bb.txt) and an equation that generates random numbers. The produced text (or dat) file is to be comprised of aa.txt , the randomly generated numbers and finally the contents of bb.txt.

Respuesta aceptada

Sergey Kasyanov
Sergey Kasyanov el 6 de Abr. de 2018
Editada: Sergey Kasyanov el 6 de Abr. de 2018
You should to read help for sprintf and fprintf for operating with this code.
Also I used dirty solution for new string line for Windows: char([13,10]) because matlabs '\n' is not working on my computer. You may use '\n'.
Files={'aa.txt','bb.txt'};
Fids=[fopen(Files{1},'r'),fopen(Files{2},'r')];
DataBefore=textscan(Fids(1),'%s');
DataAfter=textscan(Fids(2),'%s');
fclose(Fids(1));
fclose(Fids(2));
for i=1:10
%There you can name output files
FID=fopen(sprintf('output_%i.txt',i),'w');
for j=1:length(DataBefore{1})
fprintf(FID,['%s',char([13,10])],DataBefore{1}{j});
end
RandomNumbers=rand(1e3,1);
for j=1:length(RandomNumbers)
%There you should define number printing type and length
fprintf(FID,['%5.2f',char([13,10])],RandomNumbers(j));
end
for j=1:length(DataAfter{1})
fprintf(FID,['%s',char([13,10])],DataAfter{1}{j});
end
fclose(FID);
end
  3 comentarios
Sergey Kasyanov
Sergey Kasyanov el 6 de Abr. de 2018
I made a mistake. Sorry. Below is better version.
DataBefore=fileread('aa.txt');
DataAfter=fileread('bb.txt');
for i=1:10
%There you can name output files
FID=fopen(sprintf('output_%i.txt',i),'w');
fprintf(FID,'%s',DataBefore);
RandomNumbers=rand(1e3,1);
for j=1:length(RandomNumbers)
%There you should define number printing type and length
fprintf(FID,['%5.2f',char([13,10])],RandomNumbers(j));
end
fprintf(FID,'%s',DataAfter);
fclose(FID);
end
Mohammed Hadi
Mohammed Hadi el 6 de Abr. de 2018
Yes, dear Sergey, it is fully working now
Thank you very much indeed

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Language Support en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by