List files in current directory based on a pattern in a variable.

9 visualizaciones (últimos 30 días)
Hello, I have a column vector weeklyDates = [20101031;20101107;etc...]. In my directory i have files containing these patterns within their file names (ex: L3m_20101024-20101031_sst.nc).
I want to loop over weeklyDates such that in each iteration i get all the files containing the pattern in weeklyDates at each row.
Is there a way to use the function dir so that it reads each pattern contained in the variable weeklyDates iteratively?
Desired result: dir('*20101031*.nc')
dir('*20101107*.nc') ...

Respuesta aceptada

dpb
dpb el 5 de Jul. de 2022
Editada: dpb el 5 de Jul. de 2022
weeklyDates = [20101031;20101107;...];
for i=1:numel(weeklyDates)
pattern=sprintf('*%d*.nc',weeklyDates(i));
d=dir(pattern);
for j=1:numel(d)
fname=d(j).name;
% process each file here...
end
end
NB: Corrected typo in format string -- also, dir() doesn't like the cellstr() so reverted back to old sprintf()
  6 comentarios
dpb
dpb el 5 de Jul. de 2022
Before AM coffee!!! NOT sscanf here, it's sprintf, of course.
>> pattern=sprintf('*%d*.nc',20101031)
pattern =
'*20101031*.nc'
>>
Ziad Sari El Dine
Ziad Sari El Dine el 5 de Jul. de 2022
Haha thanks for the help. Much appreciated!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by