使用Shell脚本在星期天创建的Listout文件

时间:2019-06-20 06:07:59

标签: bash shell ubuntu

**我的目录中有文件。文件名如下。

  1. Backup-2018-07-29.tar.gz
  2. Backup-2018-07-30.tar.gz
  3. Backup-2018-08-05.tar.gz
  4. Backup-2018-08-06.tar.gz
  5. Connectly-2018-08-05-05.tar.gz
  6. meraBoxDump-2018-08-05.tar.gz

现在,我需要列出在星期日创建的文件。 预期输出:

  1. Backup-2018-08-05.tar.gz

    2.Connectly-2018-08-05-05.tar.gz

** 如何在Shell脚本中完成此任务

1 个答案:

答案 0 :(得分:0)

可以使用bash正则表达式和GNU日期完成

for file in *; do
    if [[ $file =~ .*([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]).* ]] &&
      [[ Sunday = `LANG=C /usr/bin/date -d${BASH_REMATCH[1]} +%A` ]]; then
        echo "$file"
    fi
done