具有两个if语句,这些语句与日期类型为YYYYMMDD和YYYY-MM-DD的文件名匹配,并且租用部分的文件名不包含名称。现在,if语句不起作用,代码始终转到else部分。
例如:
If [[ ${data-file} =~ ([12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])) ]]
答案 0 :(得分:0)
\d
在bash中不是有效的正则表达式快捷方式。改用[0-9]
或[[:digit:]]
。
${data-file} =~ ([12][0-9]{3}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01]))