how to merge multiple files ?
14 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Antoni Garcia-Herreros
on 17 Mar 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!
More Answers (0)
See Also
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!