Puede usar el comando de Unix "tail + n" para eliminar las primeras n líneas de salida. Ese encabezado se ve como 10 líneas, por lo que esto lo despojará.
$ matlab -nosplash -nodesktop -nodisplay -r test | tail +10
esto es un poco frágil, sin embargo, ya advertencias (como que "ningún sistema de ventanas") conseguirán despojado, y el tamaño del encabezado variará dependiendo de qué suceden las advertencias (y esas advertencias son diagnósticos útiles). Además, esa advertencia podría estar en STDERR en lugar de STDOUT, por lo que "cola +9" podría ser lo que necesita.
Un enfoque más robusto podría ser modificar el script de Matlab para escribir en un archivo separado usando fopen/fprintf/fclose. De esta forma, el encabezado, las advertencias, los errores, etc. de Matlab se separarán de la salida formateada que desee. Para que la salida "disp" vaya a ese identificador de archivo separado, puede capturarlo usando evalc. El archivo de salida se podría especificar usando un argumento para probar() en el mensaje -r, y la variable $$ env (el PID del proceso de bash) incorporada en el nombre del archivo para evitar colisiones en un entorno de multiprocesos.
function test(ppid)
outfile = sprintf('outfile-%d.tmp', ppid);
fh = fopen(outfile, 'w');
myvar = rand(3,4);
str = evalc('disp(myvar)');
fprintf(fh, '%s', str);
fclose(fh);
Para invocarlo desde bash, utilice este formulario de llamada. (Puede haber problemas de sintaxis menores aquí, no tengo una máquina Unix a prueba en este momento.)
% matlab -nosplash -nodisplay -r "test($$)" -logfile matlab-log-$$.tmp
Digamos que su golpe del PID es 1234. Ahora usted tienen su salida en archivo_salida-1234. tmp y un registro de Matlab en matlab-log-1234.tmp. Péguelos en/tmp si no quiere depender de pwd. Puede ampliar esto para crear múltiples archivos de salida desde una sola invocación de matlab, ahorrando los costos de inicio si necesita calcular varias cosas.
En Octave puede usar el indicador '-q'. – sffc