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中处理字符串,'是唯一具有特殊含义的字符(它开始和结束字符串),因此它是唯一需要转义的字符.
警告:某些函数可能以不同的方式解释它们的字符串参数,因此需要以不同的方式转义某些字符.这些要求将出现在每个功能的文档中.我脑子里有几种类型的功能:
%与\出现在字符格式参数需要被转义为%%和\\,分别.\.