我没有bash脚本背景。我知道unix命令行的基础知识。编写一个bash脚本在UNIX中运行一个matlab程序?
我有一个matlab脚本,将矩阵图像作为输入。我在一个文件中有一堆图像。我需要bash脚本来调用matlab程序,并将文件中的每个图像作为输入一个接一个地输入到程序中。
如果你想写它,那就太好了。我所要求的只是让某人指导我完成我应该看到的内容。
感谢
我没有bash脚本背景。我知道unix命令行的基础知识。编写一个bash脚本在UNIX中运行一个matlab程序?
我有一个matlab脚本,将矩阵图像作为输入。我在一个文件中有一堆图像。我需要bash脚本来调用matlab程序,并将文件中的每个图像作为输入一个接一个地输入到程序中。
如果你想写它,那就太好了。我所要求的只是让某人指导我完成我应该看到的内容。
感谢
假设matlab
命令在您的路径(更多信息,See the documentation)
假如你只是想获得的所有BMP的(没有指定文件类型),你可以使用一个简单的bash循环:
for f in *.BMP; do
matlab -nosplash -nodisplay -nojvm -r "my_command('$f'),quit()"
done
的-nosplash
,-nodisplay
,并-nojvm
确保GUI不会被触发,而-r
指示MATLAB运行命令。最后的,quit()
确保matlab在运行后退出。
你需要
list_images
,或filename
什么包含图像喜欢的东西:
list_images | while read image_name
do
matlab_command "$image_name" > "$image_name.output"
done
或更好
while read image_name
do
matlab_command "$image_name" > "$image_name.output"
done < filename_with_images.txt
没有真正明白你的意思与have amatrix images in a file
,发表您输入的一个例子。
在CURENT目录
find . -maxdepth 0 -name \*.prj -print0 | while IFS= read -r -d '' image_name
do
matlab_command "$image_name" > "$image_name.output"
done
谷歌 “的bash教程” 发现prj
文件编辑。
对不起,不明确。输入文件为.prj格式。我把它们全部存储在一个目录中。我真的只需要脚本将文件名作为参数传递给我的matlab函数。在上面的回答中,我不了解你从目录中实际读取文件名的位置。 –
请参阅编辑 - 如何查找'prj'文件... – jm666