how to merge multiple files ?
    13 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Lilya
      
 el 17 de Mzo. de 2023
  
    
    
    
    
    Comentada: Lilya
      
 el 17 de Mzo. de 2023
            Hi- I want to merge multiple files into one file by selecting one of those files specifically to be the header 
I've tried the following code, which I found in the Matlab community. But the first line is not the header I want.
the name of the header file is: header.405
any help will be appreciated 
projectdir = uigetdir('pub/eph/planets/ascii/de405');
dinfo = dir( fullfile(projectdir, '*.405') );
filenames = fullfile( projectdir, {dinfo.name} );
output='merged.txt';
fidout=fopen(output,'w');
for cnt=1:length(dinfo)
  fprintf(fidout,'%s\n',dinfo(cnt).name);
  fidin=fopen(dinfo(cnt).name);
  fwrite(fidout,fread(fidin));
  fprintf(fidout,'\n');
  fclose(fidin);
end
fclose(fidout);
0 comentarios
Respuesta aceptada
  Antoni Garcia-Herreros
      
 el 17 de Mzo. de 2023
        Hello Lilya,
I'm guessing the problem is your header.405 is not the first file listed in dinfo. What you could do i find the position of your header file and set it to be the first. 
Index = find(contains(filenames,'header')); % Find the position of the header file
F=[filenames(Index),filenames];
F(Index+1)=[];
output='merged.txt';
fidout=fopen(output,'w');
for cnt=1:length(F)
  fprintf(fidout,'%s\n',F(cnt));
  fidin=fopen(F(cnt));
  fwrite(fidout,fread(fidin));
  fprintf(fidout,'\n');
  fclose(fidin);
end
fclose(fidout);
Hope this works!
Más respuestas (0)
Ver también
Categorías
				Más información sobre Dates and Time en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

