是否有一個命令來搜索matlab中文件夾中的文件中的「特定條目」? 一樣,如果我想在所有目前在文件夾A是否有可能在matlab文件夾內的文件中搜索特定的表達式/條目?
allFiles = dir('G:\folder\myfilename');
allNames = { allFiles.name };
只讓我搜索特定文件夾中的特定文件的文件中搜索單詞「hello」。:(
是否有一個命令來搜索matlab中文件夾中的文件中的「特定條目」? 一樣,如果我想在所有目前在文件夾A是否有可能在matlab文件夾內的文件中搜索特定的表達式/條目?
allFiles = dir('G:\folder\myfilename');
allNames = { allFiles.name };
只讓我搜索特定文件夾中的特定文件的文件中搜索單詞「hello」。:(
見this answer讓你在一個目錄中的所有文件的列表
然後你可以使用regexpi
來識別包含字符串'hello'
的任何文件。
或者像彼得·d指出:
我認爲應該建立在正則表達式到函數。
if ~isempty(fileList) fileList = cellfun(@(x) fullfile(dirName,x),'UniformOutput',false); matchstart = regexp(fileList, pattern); fileList = fileList(~cellfun(@isempty, matchstart)); end
,改變函數簽名
getAllFiles(dirName, pattern)
(也是在第2至最後一行)
其實,貌似對這個問題進行最後的評論員已經奠定了做什麼你想做。我會將他的引用添加到我的答案中。 – Doresoom
你可以使用通配符:
allFiles = dir('G:\folder\myfilename\*hello*.*');
如果主文件夾內有子文件夾我還需要爲子文件夾中的所有文件搜索特定條目? – learningMatlab
上運行上面的命令,我得到 allFiles = 爲0x1結構陣列領域: 名 日期 字節 ISDIR datenum – learningMatlab
你是說像Linux的」'grep的-r 「*你好*」 *'?這兩個答案似乎都着眼於查找包含「\ * hello \ *」的*文件名*,但我認爲您要求在*任何文件的內容中包含「\ * hello \ *」* ...這是真的? –
是的。如果我搜索嵌套文件夾中的特定條目(文件夾A中有20個以上的文件夾,我需要搜索每個文件夾和子文件夾中的條目) – learningMatlab