在继续处理该文件之前,我想检查是否只有一个文件实例存在。
我可以使用以下命令检查存在多少个实例:
ls -l $INPUT_DIR/${INPUT_FILE_PREFIX}cons*.csv.gz | wc -l;
Run Code Online (Sandbox Code Playgroud)
但是,当我在 if 语句中使用它时,会警告我ls: command not found.
if [ls -l $INPUT_DIR/${INPUT_FILE_PREFIX}cons*.csv.gz | wc -l = '1']
then
echo "Only 1 File Exists";
fi
Run Code Online (Sandbox Code Playgroud)
我尝试在 ls 命令的末尾添加一个分号并将其括在方括号中 - 这些都没有产生任何结果。
我很少需要编写任何 Shell 脚本,我怀疑这是一个非常基本的错误,因此非常感谢任何帮助。
更改您的if条件如下:
if [ "$(ls -l $INPUT_DIR/${INPUT_FILE_PREFIX}cons*.csv.gz | wc -l)" = "1" ]
Run Code Online (Sandbox Code Playgroud)
[前后需要有一个空格]$()将调用子shell 并运行该命令。$()在双引号内放置将避免在空输出的情况下引发错误。| 归档时间: |
|
| 查看次数: |
5434 次 |
| 最近记录: |