【问题标题】:Listout file created on sunday using shell script周日使用 shell 脚本创建的列表文件
【发布时间】:2019-06-20 06:07:59
【问题描述】:

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

  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 脚本中执行此任务

【问题讨论】:

  • 请改写并重新格式化您的问题,您的问题有点不清楚。
  • 通过shellcheck.net运行它。

标签: bash shell ubuntu


【解决方案1】:

可以使用 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

【讨论】:

  • 它不打印输出。它只是执行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 2017-05-31
相关资源
最近更新 更多