0

我正在研究一个 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 将mdbMS Access 文件导出到csv其中,并且我的机器在 Ubuntu 16.04 上运行。

4

0 回答 0