Matlab:使用dir命令时包含文件路径的一部分

时间:2013-07-22 21:54:58

标签: matlab path dir

我正在尝试获取包含'fig'的目录中所有jpeg文件的路径。下面的代码获取目录中的所有jpeg文件,但不排除任何“rft”标记文件。

base_directory = '/home/user/data/';
directories = dir([base_directory,'/*.jpg']);
filenames = directories;

目录的一个例子是

goblet_fig_2004_03_07.jpg
goblet_rft_2004_03_07.jpg
goblet_fig_2004_11_02.jpg
goblet_rft_2004_11_02.jpg

感谢任何帮助。

在帮助之后这是我的完整代码,注意' fig .jpg',是我正在寻找的答案

base_directory = '/home/user/data/';                                
directories = dir([base_directory,'*fig*.jpg']);                             
filenames = directories;                                                   
for fileIndex = 1: length(filenames)  
    image = imread([base_directory,'/',filenames(fileIndex).name]);    
end                                                                                                                        

3 个答案:

答案 0 :(得分:1)

一个简单的答案就是:

directories = [dir('*.fig'); dir('*.jpg')]

答案 1 :(得分:0)

filenames = dir('*fig*.jpg')

我在Windows上尝试过它,而不是Linux,但它应该可以工作。

答案 2 :(得分:0)

您可以尝试使用正则表达式作为实例

directories = {'goblet_fig_2004_03_07.jpg'
'goblet_rft_2004_03_07.jpg'
'goblet_fig_2004_11_02.jpg'
'goblet_rft_2004_11_02.jpg'};

directories(~cellfun('isempty',regexp(directories,'fig')))

返回

ans = 

    'goblet_fig_2004_03_07.jpg'
    'goblet_fig_2004_11_02.jpg'

findstr等其他功能也可能起作用。