【发布时间】:2021-11-15 20:08:32
【问题描述】:
我有一个 .sql 作业,它根据某些条件创建文件,它使用前缀 TEMP_ 写入这些文件,因为我们有一个适配器来拾取文件,我们不希望在写入完成之前拾取它们。 我需要放置一个重命名这些文件的发布作业,我已经设置了许多其他作业,但它们每次运行时都会创建文件。该作业仅创建有时运行的文件,具体取决于系统中的数据。 我需要检查文件是否存在,如果不存在则退出。
我找到了一些示例,但它们似乎都失败了,这就是我想检查是否没有文件的地方,如果没有文件则退出,但它失败并显示: “第 16 行的语法错误:`TEMP_SUBCON*.csv' 意外”
这是我目前所拥有的,第 16 行是第一行 - 上面只是 cmets:
if [[ ! -f $OUT_DIR -name TEMP_SUBCON*.csv ]] ; then
exit $?
fi
TEMP_DATA_FILE=$(find $OUT_DIR -name TEMP_SUBCON_QTY_output*.csv)
DATA_FILE=$(basename $TEMP_DATA_FILE | cut -c6-)
echo $TEMP_DATA_FILE
echo $DATA_FILE
## Rename the file name, remove the phrase TEMP_, so that EAI can pick the file ##
mv $TEMP_DATA_FILE $OUT_DIR/$DATA_FILE
你能帮忙指导一下我做错了什么吗?
谢谢
【问题讨论】:
-
-f $OUT_DIR -name TEMP_SUBCON*.csv看起来像是从find的调用中提取的,这不是[[...]]的有效语法。