是否可以在matlab文件夹中的文件中搜索特定表达式/条目?

是否可以在matlab文件夹中的文件中搜索特定表达式/条目?,matlab,Matlab,matlab中是否有搜索“文件夹中存在的文件中的特定条目”的命令? 比如,如果我想在文件夹A中的所有文件中搜索“hello”这个词 allFiles = dir( 'G:\folder\myfilename' ); allNames = { allFiles.name }; 仅允许我在特定文件夹中搜索特定文件。(您可以使用通配符: allFiles = dir( 'G:\folder\myfilename\*hello*.*' ); 您可以使用通配符: allFiles = dir( '

matlab中是否有搜索“文件夹中存在的文件中的特定条目”的命令? 比如,如果我想在文件夹A中的所有文件中搜索“hello”这个词

allFiles = dir( 'G:\folder\myfilename' );
allNames = { allFiles.name };
仅允许我在特定文件夹中搜索特定文件。(

您可以使用通配符:

 allFiles = dir( 'G:\folder\myfilename\*hello*.*' );
您可以使用通配符:

 allFiles = dir( 'G:\folder\myfilename\*hello*.*' );
请参阅以获取目录中所有文件的列表

然后,您可以使用来标识包含字符串“hello”的任何文件

或者正如Peter D所指出的:

我发现在函数中内置正则表达式很有用

if ~isempty(fileList)     
   fileList = cellfun(@(x) fullfile(dirName,x),'UniformOutput',false);
   matchstart =  regexp(fileList, pattern); 
   fileList = fileList(~cellfun(@isempty,  matchstart));
end 
并将函数签名更改为

getAllFiles(目录名、模式)
(也在第二行到最后一行)

请参阅以获取目录中所有文件的列表

然后,您可以使用来标识包含字符串“hello”的任何文件

或者正如Peter D所指出的:

我发现在函数中内置正则表达式很有用

if ~isempty(fileList)     
   fileList = cellfun(@(x) fullfile(dirName,x),'UniformOutput',false);
   matchstart =  regexp(fileList, pattern); 
   fileList = fileList(~cellfun(@isempty,  matchstart));
end 
并将函数签名更改为

getAllFiles(目录名、模式)
(也在第二行到最后一行)


如果主文件夹中有子文件夹,我还需要搜索子文件夹中的所有文件的特定条目吗?在运行上面的命令时,我用字段获取ALLFixs= 0x1结构数组:名称、日期、字节、ISDIR数据,如果主文件夹中有子文件夹,我需要搜索一个PAR。子文件夹中所有文件的特殊条目?在运行上述命令时,我得到了带有字段的allFiles=0x1 struct array:name date bytes isdir daten实际上,这个问题上的最后一位评论员似乎已经为你想做的事情打下了基础。我会在我的答案中加上他的引用。实际上,lo像上一位关于这个问题的评论员一样,OK为你做你想做的事情打下了基础。我将在我的答案中添加他的话。你是说像Linux“
grep-r”*hello*”
?这两个答案似乎都集中在查找包含“*hello*”的文件名,但我认为你要求的是“*hello*”在任何文件的内容中…这是真的吗?是的。如果我在嵌套文件夹中搜索特定条目(文件夹a中还有20个文件夹,我需要在每个文件夹和子文件夹中搜索条目),你的意思是像Linux“
grep-r”*hello*”*
?这两个答案似乎都集中在查找包含“*hello*”的文件名上,但我认为您要求在任何文件的内容中添加“*hello*”。这是真的吗?是的。就像我在嵌套文件夹中搜索特定条目一样(文件夹a中还有20个文件夹,我需要在每个文件夹和子文件夹中搜索条目)