1

全て、

Solaris 10 で BASH を実行しています

CSV ファイルの存在に応じてディレクトリをループする次のシェル スクリプトがあります。

このコードの問題は、そのディレクトリに CSV ファイルがなくても 1 つのループを実行し、SQL ローダーを呼び出すことです。

処理するファイルがないため、SQLLoader はログ ファイルを生成します。これにより、ディレクトリがログ ファイルでいっぱいになり、ディレクトリが台無しになり始めます。

for file in *.csv ; 
do 
    echo "SQLLoader is reading : " $file
    sqlldr <User>/<Password>@<DBURL>:<PORT>/<SID> control=sqlloader.ctl log=$inbox/$file.log data=$inbox/$file
done

$inboxのそのディレクトリにCSVファイルがない場合、ループに入らないようにするにはどうすればよいですか

4

3 に答える 3

1

findファイルの検索に使用

for file in `find -name "*.csv"` ;
于 2013-10-22T10:06:24.450 に答える