【发布时间】:2019-11-27 12:45:25
【问题描述】:
我想在目录中查找前一天的文件(即昨天:/daily-2019-11-26/photo-2019-11-26-15-processed.jpg 应该匹配,/daily-2019-11-26/photo-2019-11-26-02-processed.jpg 不应该匹配)。
如果我在终端中输入它,它会按预期工作
find /daily-$(date -d "-1 day" +%F)/photo-$(date -d "-1 day" +%F)-!(0[0-9])-*.jpg
# ^ not 00-09 a.m. hours
但是当我像bash script.sh 一样运行脚本文件时它不能在脚本文件中工作
#!/bin/bash
find /daily-$(date -d "-1 day" +%F)/photo-$(date -d "-1 day" +%F)-!(0[0-9])-*.jpg
我收到错误:line 2: syntax error near unexpected token '('
怎么了?
最后我想每天用一个 cron 运行这个脚本
【问题讨论】:
-
为什么第一个例子应该匹配而第二个不应该?
-
@Toto 因为我想在文件名中排除 00-09 小时:photo-2019-11-26-15-processed.jpg 标记为 15 小时,photo-2019-11-26-02-已处理的.jpg 标记为 02 小时
标签: regex bash shell date find