1
제 질문은 간단하지만 아직 쉬운 해결책을 찾지 못했습니다. N 개의 파일이나 폴더가있는 메인 디렉토리가 있고 전체 디렉토리를 반환하려는 파일/폴더의 패턴 (부분적으로 이름이 있음)이 있다고 가정 해 보겠습니다. 어떻게하면 간단하게 처리 할 수 있습니까? 나는 아래의 예를 줄 것이다 :패턴을 사용하여 전체 디렉토리 반환
main_dir='/home/ddd/main_folder/';
files_in_main_dir=ls(main_dir)
pattern='*Ginger*';
%%% code to return the full path
% ?
%%%
files_in_main_dir=
Cupcake
Donut
Gingerbread
return_path=
/home/ddd/main_folder/Gingerbread
편집 : 이 끔찍한 아직 가능한 솔루션입니다 :
files_in_main_dir=ls(main_dir);
find_ls=strfind(files_in_main_dir,' ');
find_pattern=strfind(files_in_main_dir,pattern);
begin_pattern=find_ls(find(find_ls<find_pattern,1,'last'));
if length(find_ls)>find(find_ls<find_pattern,1,'last'), ...
end_pattern=find_ls(find(find_ls<find_pattern,1,'last')+1);
else
end_pattern=length(files_in_main_dir);
end
pattern=files_in_main_dir(begin_pattern+1:end_pattern-1);
full_dir_pattern=[main_dir,pattern]
합니다. 그러나 이것은 더 간단합니다. 이상하게도 dir 함수는 와일드 카드로 작동하지 않는다고 생각했습니다. 또한이 동작은 Gingerbread를 반환하지 않는 ls 함수와 동일하다고 생각했지만 Gingerbread가 폴더이면 무엇이 들어 있는지 반환합니다. 감사 – ASantosRibeiro