Suppressing command output
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
John F
el 17 de Ag. de 2011
Respondida: Helder Magalhães
el 12 de En. de 2022
I am using the function "system(<SOME COMMAND>)" in a function. The command I'm calling has a lot of screen outputs that I'd like to suppress. How can I do that?
0 comentarios
Respuesta aceptada
Fangjun Jiang
el 17 de Ag. de 2011
try below. It just saves the screen outputs.
system('dir >output.txt')
4 comentarios
Fangjun Jiang
el 17 de Ag. de 2011
Thanks, Jason! Nice to know. Is this 1 and 2 refer to MATLAB fid 1 and 2?
Jason Ross
el 17 de Ag. de 2011
I've always thought of it as stdout (1) and stderr (2). I've used this extensively outside of MATLAB for other scripting duties. There's a nice summary of redirection commmands at
http://www.robvanderwoude.com/redirection.php
Más respuestas (1)
Helder Magalhães
el 12 de En. de 2022
It's also possible to use "system" (console) based filtering to avoid the whole output to be redirected to Matlab. For example, taking a directory listing in Windows environment:
% the first part only lists text files, including details
% the part after the pipe filters relevant lines
% (to only dump filenames, use 'dir /b' instead)
sys_cmd = 'dir "C:\MyDirectory\*.txt" | find ".txt"';
system(sys_cmd, '-echo');
I wouldn't generally recommend using system calls often, as it may easily break the possibility of porting your software/environment to another platform. But for quick experiments/diagnostics it can become very handy, specially if one is familiar with command-line environment.
0 comentarios
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!