Clear Filters
Clear Filters

Merge 2 text file in same row / same line

3 views (last 30 days)
Hi, i would like to combine 2 text file.
The data shown as below:
a1.txt
0:0 1:63 2:55 3:55
aa1.txt
4:54 5:56 6:61
I have try use code from below link:
%Combine Text File%
File = {'a1.txt', 'aa1.txt'}; % Thanks Walter
numberOfFiles = length(File); %
C = cell(1, numberOfFiles);
for k = 1:numberOfFiles
C{k} = strsplit(fileread(File{k}), '\n');
end
AllC = C{1};
for k = 2:numel(C)
AllC = strcat(AllC, {''}, C{k}); % [EDITED] With a space as separator here
end
[fid, msg] = fopen('a_fuse.txt', 'w');
if fid == -1, error('Cannot open file for writing: %s', msg); end
fprintf(fid, '%s\n', AllC{:});
fclose(fid);
the output will become as below:
0:0 1:63 2:55 3:55
4:54 5:56 6:61
BUT, i want the out put become as below:
0:0 1:63 2:55 3:55 4:54 5:56 6:61

Answers (1)

KSSV
KSSV on 20 Jun 2020
Edited: KSSV on 20 Jun 2020
File = {'a1.txt', 'aa1.txt'};
N = length(File);
for i = 1:N
fid = fopen(File{i},'rt') ;
C = textscan(fid,'%s') ;
S{i} = C{1} ;
end
S = strjoin(S)
  4 Comments
Farhan Hakimi Anuar
Farhan Hakimi Anuar on 20 Jun 2020
still can't same message as before.
File = {'a1.txt', 'aa1.txt'};
N = length(File);
for i = 1:N
fid = fopen(File{i},'rt') ;
C = textscan(fid,'%s') ;
S{i} = C{1} ;
end
S = strjoin(S)
C = cell(1, numberOfFiles);
for k = 1:numberOfFiles
C{k} = strsplit(fileread(File{k}), '\n');
end
AllC = C{1};
for k = 2:numel(C)
AllC = strcat(AllC, {''}, C{k}); % [EDITED] With a space as separator here
end
[fid, msg] = fopen('a_fuse.txt', 'w');
if fid == -1, error('Cannot open file for writing: %s', msg); end
fprintf(fid, '%s\n', AllC{:});
fclose(fid);
File = {'a1.txt', 'aa1.txt'};

Sign in to comment.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!