我是否需要在此MATLAB字符串中转义字符?

Tim*_*Tim 2 string bash matlab escaping system

我想在MATLAB中调用以下bash命令:

grep "Up to" ~/test_linux/vision1.1/log | awk '{print $7}'
Run Code Online (Sandbox Code Playgroud)

system()在MATLAB中使用,但结果却有错误:

>> [status string]=system('grep "Up to" ~/test_linux/vision1.1/log | awk '{print $7}' ');     
??? [status string]=system('grep "Up to" ~/test_linux/vision1.1/log | awk '{print $7}' ');  

Error: Unbalanced or unexpected parenthesis or bracket.
Run Code Online (Sandbox Code Playgroud)

我是否需要在bash命令中将某些特殊字符作为字符串在MATLAB中转义?

gno*_*ice 13

这应该工作:

[status string]=system('grep "Up to" ~/test_linux/vision1.1/log | awk ''{print $7}'' ');
Run Code Online (Sandbox Code Playgroud)

如果希望它在字符串中显示为字符,则必须'与另一个转义'.关于在MATLAB中处理字符串,'是唯一具有特殊含义的字符(它开始和结束字符串),因此它是唯一需要转义的字符.

警告:某些函数可能以不同的方式解释它们的字符串参数,因此需要以不同的方式转义某些字符.这些要求将出现在每个功能的文档中.我脑子里有几种类型的功能: