我有一个文本文件(abc.txt),它将具有文件名和要转换为.csv的路径。下面是我写的脚本:
{while IFS= read -r f ; do
filename="${f%.*}"
ssconvert ${filename}.xls ${filename}.csv
done < abc.txt}问题是文件.xls文件名中有空格。所以剧本不起作用,说:
无法猜测出口商使用的“文件”:
发布于 2017-03-14 05:11:22
您应该用双引号将以下内容括起来,以防止全球化和分词:
ssconvert "${filename}.xls" "${filename}.csv"还包括一个在花括号和下一个/上一个对象{ ... }之间的空格。
{ while IFS= read -r f ; do
filename="${f%.*}"
ssconvert "${filename}.xls" "${filename}.csv"
done < abc.txt ; }注意:如果注释中提到的“导出类型”错误仍然存在问题,可以尝试ssconvert "${filename}".xls "${filename}".csv,因为我不熟悉它所需要的确切语法。您可以使用在线工具shellcheck.net轻松地检查脚本。
https://stackoverflow.com/questions/42778112
复制相似问题