How to list files with multiple extensions?
이전 댓글 표시
Suppose I want mp3 or avi files from a folder, on Unix I could do
ls *.{mp3|avi}
Is there a clean one-liner way to do this in matlab? Presently, I can do it in two lines by doing the following:
f = dir(folder)
f(~cellfun(@isempty,regexpi({f.name},'.*(mp3|avi)'))).name
However, I find this rather ugly compared to the simplicity of the first expression.
Thanks, Kevin
댓글 수: 1
답변 (3개)
Doug Hull
2012년 10월 24일
2 개 추천
Can you run the command twice with two filters? The results would be two structures of the same format that could then be appended together.
댓글 수: 2
Kevin
2012년 10월 24일
Sean de Wolski
2012년 10월 24일
@Kevin, a for-loop over a cell array containing the extentions would allow it to scale, though concatenating structures is ugly.
Sean de Wolski
2012년 10월 24일
1 개 추천
You could just farm that command out to Unix if you are on a unix system...
ANKUR WADHWA
2019년 11월 6일
편집: Cris LaPierre
2024년 1월 9일
1 개 추천
Though the thread is very old still for users who are looking for an easy way a very simple existing solution on Matlbcentral
카테고리
도움말 센터 및 File Exchange에서 File Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!