我正在研究一个 bash 脚本,它遍历mdb
文件并将它们导出到csv
.
这是我的代码:
#!/bin/bash
YEAR="2001/"
INFOLDER="/local/data/datasets/Convergence/"
OUTFOLDER="~/Workspaces/Ventilator_Repository/dataset/csv/"
for f in "$INFOLDER$YEAR*.mdb";
do
absname=$INFOLDER$YEAR$(basename $f)
echo "input file: $absname"
streamingFile="$OUTFOLDER$YEAR$(basename $f)_streaming.csv"
echo "output file: $streamingFile"
streamcommand="mdb-export -d , $absname STREAMING > ${streamingFile}"
echo "command: $streamcommand"
mdb-export "-d , " $absname " STREAMING" > $streamingFile
done
但是,我收到此错误:
输入文件:/local/data/datasets/Convergence/2001/14a_25Sep2001_102404.mdb
输出文件:~/Workspaces/Ventilator_Repository/dataset/csv/2001/14a_25Sep2001_102404.mdb_streaming.csv
命令:mdb-export -d,/local/data/datasets/Convergence/2001/14a_25Sep2001_102404.mdb STREAMING > ~/Workspaces/Ventilator_Repository/dataset/csv/2001/14a_25Sep2001_102404.mdb_streaming.csv
但是,我收到以下错误:
第 14 行:~/Workspaces/Ventilator_Repository/dataset/csv/2001/14a_25Sep2001_102404.mdb_streaming.csv:没有这样的文件或目录
如果我在终端中运行命令,导出工作正常!我不知道为什么在 bash 脚本中它不起作用。
我正在使用 mdb-tools 将mdb
MS Access 文件导出到csv
其中,并且我的机器在 Ubuntu 16.04 上运行。