Ich möchte 3 Listen mit den Namen der Dateien erstellen, die mit PNG, JPG und BMP beginnen. Alle Dateien sind Bilder in der Verzeichnisstruktur:/year_month/year_month_day/wie Sie hier sehen können:erstellen Sie eine Tabelle mit spezifischen Namen von Dateien aus der Zeichenfolge in MATLAB ausgewählt
./20160203/20160203_png01_test1.png.tmp
./20160203/20160203_jpg01_test2.jpg.tmp
./20160203/20160203_bmp01_test3.bmp.tmp
./20160204/20160204_png01_test1.png.tmp
./20160204/20160204_jpg01_test2.jpg.tmp
./20160204/20160204_bmp01_test3.bmp.tmp
./20160205/20160205_png01_test1.png.tmp
./20160205/20160205_jpg01_test2.jpg.tmp
./20160205/20160205_bmp01_test3.bmp.tmp
jede Liste sollte enthalten soll, die Bilder Namen für jede Erweiterung (jpg, bmp und png) zum Beispiel list1 hat:
./20160203/20160203_png01_test1.png.tmp
./20160204/20160204_png01_test1.png.tmp
./20160205/20160205_png01_test1.png.tmp
list2 sollte:
./20160203/20160203_jpg01_test2.jpg.tmp
./20160204/20160204_jpg01_test2.jpg.tmp
./20160205/20160205_jpg01_test2.jpg.tmp
und list3 das gleiche, aber mit bmp ...
mein Code sieht wie folgt aus:
workdir = '/home/user/201602/';
cd(workdir);
command = ['find -name *test*.tmp'];
[status,cmdout] = system(command);
c = strsplit(strtrim(cmdout));
n_files = length(c);
format_id = cell(n_files,1);
for ifile =1:n_files
d = textscan(c{ifile},'%s%s', 'Delimiter','_');
s1 = d{2}{:};
format_id{ifile} = s1;
end
format_id = unique(format_id);
nformat = length(format_id);
for iformat = 1:nformat
templist = [format_id{iformat} '.dat'];
fid = fopen(templist,'w');
for ifiles =1:n_files
fprintf(fid, '%6s\n', c{iformat});
end
fid = fclose(fid);
end
bekomme ich die Listen: png01.dat, jpg01.dat und bmp01.dat was in Ordnung ist, aber In jeder Liste habe ich alle Namen der Bilder und nicht nur die Namen mit der jeweiligen Erweiterung. Zuerst möchte ich einen "Index" machen, um nur die Dateien mit der jeweiligen Erweiterung (bmp jpg und png) auszuwählen und anschließend an eine Liste zu senden. Wie könnte ich das tun?
Ich hoffe, das Problem ist klar. Vielen Dank im Voraus für Ihre Hilfe.
Bitte beachten Sie die zusätzlichen neuen Linien im gesamten entfernen Ihre Frage, damit es einfacher zu lesen aussieht. Als weiteren Vorschlag: Sehen Sie sich den ['dir'] (http://ch.mathworks.com/help/matlab/ref/dir.html) -Befehl an, um' system' zu ersetzen. – Matt