How to list files with multiple extensions?
27 ビュー (過去 30 日間)
古いコメントを表示
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 日
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 件のコメント
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 日
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 日
Though the thread is very old still for users who are looking for an easy way a very simple existing solution on Matlbcentral
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!