在MATLAB的'dir()'中使用通配符

问题描述 投票:0回答:1

[我正在将某些MATLAB(2018b)代码从MacOS Movaje移至Ubuntu 18.04 LTS,但在使用dir()函数时遇到了麻烦。

在MacOS中我可以做

partialpath = [datapath 'sj' sjNum];
dataDir = dir([partialpath '*']);

其中datapathsjNum是字符向量。这允许dir()查找与目录的部分匹配,例如:sj004将导致与sj004-October-2019的部分匹配。

问题似乎是MATLAB正在搜索名称为sj004*的目录,而不是将*视为通配符。有人可以阐明这一点吗?谢谢!

我尝试在Ubuntu中将其与MATLAB 2019b一起使用,但我将*替换为**。 MATLAB返回一个错误,指示必须在文件分隔符旁边放置通配符。如果我只能在通配符旁边使用文件分隔符,则此方法将永远无法使用。

[如何获得MacOS中的行为,并假设我只知道目录名称的开头,而sj004部分之后的所有内容都是未知的?

linux matlab ubuntu directory wildcard
1个回答
0
投票

我发现了问题(尽管我不太了解)。就我而言,这是一个简单的错误,鉴于我之前提供的信息,无法解决。

如评论中所建议,我已经构建了一个函数来为每个OS构造正确的路径,但是出错了,Linux路径以home/而不是/home/开头,所以当然这是行不通的。

© www.soinside.com 2019 - 2024. All rights reserved.