我没有 bash 脚本背景。我知道unix命令行的基础知识。
我有一个 matlab 脚本,它以矩阵图像作为输入。我在一个文件中有一堆图像。我需要 bash 脚本来调用 matlab 程序,并将文件中的每一个图像作为输入一个一个地输入到程序中。
如果你想写它,那就太好了。我所要求的只是有人指导我确切地了解我应该研究的内容。
谢谢
假设该matlab
命令在您的路径中(有关更多信息,请参阅文档)
假设您只想获取所有 BMP(您没有指定文件类型),您可以使用一个简单的 bash 循环:
for f in *.BMP; do
matlab -nosplash -nodisplay -nojvm -r "my_command('$f'),quit()"
done
、和确保不触发 GUI,并-nosplash
指示matlab 运行命令。最后的确保matlab在运行后退出。-nodisplay
-nojvm
-r
,quit()
你需要
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
,发布您输入的示例。
编辑在当前目录中查找prj
文件
find . -maxdepth 0 -name \*.prj -print0 | while IFS= read -r -d '' image_name
do
matlab_command "$image_name" > "$image_name.output"
done
谷歌“bash 教程”。