我在$OUTPUT
变量上有一个字符串,我想获得 only 备份目录。我已经在regex101和other 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