我有一个Python代码,它接受多个输入文件并将它们合并为一个单独的输出文件。我想创建一个自动添加输入文件的bash脚本,而不需要我手动编写infile1 infile2等。以下是我想出的内容:
FILE= `find ~/Desktop/folder -name '*.tif'`
for i in $FILE
do
gdal_merge.py -o mosaic -of GTiff $i
done
但由于某种原因,我收到了这个错误:
Syntax error: word unexpected (expecting ")")
答案 0 :(得分:0)
您可以尝试使用-exec选项查找:
find ~/Desktop/folder -name '*.tif' -exec gdal_merge.py -o mosaic -of GTiff {}
答案 1 :(得分:0)
我的猜测是你的一些文件包含特殊字符,如(
或)
或空白字符会导致麻烦。通常,' - x'选项会显示正在发生的事情。可以在脚本开头bash -x my_script
或添加set -x
。
作为替代方案,在处理特殊字符方面稍微好一点,试试这个:
find ~/Desktop/folder -name '*.tif' -print0 | xargs -0 -n1 gdal_merge.py -o mosaic -of GTiff
答案 2 :(得分:0)
这可能有效:
FILE=`find ~/Desktop/folder -name '*.tif'`
gdal_merge.py -o mosaic -of GTiff "$FILE"