我制作了一个结构数组,其中包含父目录中的每个文件和目录,使用
allfiles = dir(fullfile('.',"**"));.
但是,我只对名为'data.env'
的文件感兴趣。
我相信目录树中每个文件的名称都包含在allfiles
某行的‘name’字段中,每个文件的路径包含在‘Folders’字段中。如何从名称字段不是'data.env'
的所有文件中删除所有行?
我最好的尝试如下:
ctr=0;
loclist = [];
for ii = 1:size(allfiles)
if strcmp(allfiles(ii).name,'data.env')
loclist(ctr+1)=ii;
ctr=ctr+1;
end
end
relevantFiles=allfiles(loclist);
但是,我确信有一个更好的解决方案可以将我的for循环矢量化。
1条答案
按热度按时间1l5u6lss1#
您可以使用arrayFun生成一个逻辑索引向量,并使用它来创建结果。例如,