如何检查是否有多个具有相同名称前缀的文件

时间:2018-04-23 04:38:21

标签: bash shell

如何在shell脚本中检查相同的文件名是否存在前缀 即MY_REPORT_2018_04_23_01.txt,MY_REPORT_2018_04_23_02.txt,MY_REPORT_2018_04_13_03.txt等。

当我在尝试时:

if [ ! -e MY_REPORT_*.txt ] ;
 then
        echo "files not present in current directory"
        exit 1
 fi

它正在运行,但有一条警告信息:

  

[:参数太多

1 个答案:

答案 0 :(得分:2)

使用数组:

#!/usr/bin/env bash
shopt -s nullglob               # make sure glob evaluates to nothing if there are no matches
files=(MY_REPORT_*.txt)         # create an array of matching files
if ((${#files[@]} == 0)); then  # check number of items in array
  echo "Files not present"
  exit 1
fi

查看此帖子以了解[ ... ]的工作原理:

另一篇相关文章: