MATLAB: How to use pipes with a system() call using ssh? Parsing issue

MATLABsystem

Folks,
I am having difficulty, I believe with parsing, of a string that I am using to make a system call on my Windows 10 system.
I can run the exact following command from my Windows 10 command prompt:
ssh user@domain /bin/ps -aef | /bin/grep SearchString | /bin/awk "{print $2}"
It will send the command with all the pipes correctly to the domain computer and return the result.
When I do this, it does not work:
[a, b] = system('ssh user@domain /bin/ps -afe | /bin/grep SearchString | /bin/awk "{print $2}"')
It returns a = 255 (error)
If I reduce this to
[a, b] = system('ssh user@domain /bin/ps -afe | /bin/grep SearchString')
it still fails.
If I further reduce this to
[a, b] = system('ssh user@domain /bin/ps -afe')
it works.
So I expect this has something to do with parsing the pipe symbol. Any ideas on how to address this? I tried replacing the pipe with '|' and \|, but that did not fix the issue.
Thank you,
Kris

Best Answer

Folks,
I figured out my issue. This works.
system('ssh user@domain "/bin/ps -afe | /bin/grep SearchString | /bin/awk ''{print $2}''"')
Be careful reading the above line. The last series of quotes contain both single and double quotes.
Kris