先行与其他语言一起使用,但在Shell中不起作用

时间:2019-04-26 00:47:53

标签: regex shell

我在$OUTPUT变量上有一个字符串,我想获得 only 备份目录。我已经在regex101other languages上测试了我的正则表达式,它可以工作,但是在Shell中却不能。

OUTPUT="Backup created at /data/bkp/bkp-2019_04_25/dremio_backup_2019-04-25_15.56, tables 25, uploaded files 0"

REGEX=\/.*?(\,)    # Returns: /data/bkp/bkp-2019_04_25/dremio_backup_2019-04-25_15.56, dremio tables 25,
REGEX2=\/.+?(\,)   # Returns: /data/bkp/bkp-2019_04_25/dremio_backup_2019-04-25_15.56, tables 25,
REGEX3=\/.*?(?=\,) # Returns nothing

if [[ $OUTPUT =~ $REGEX ]]; then echo ${BASH_REMATCH}; fi
if [[ $OUTPUT =~ $REGEX2 ]]; then echo ${BASH_REMATCH}; fi
if [[ $OUTPUT =~ $REGEX3 ]]; then echo ${BASH_REMATCH}; fi

0 个答案:

没有答案