У меня возникли проблемы с тем, чтобы bash соответствовал моему регулярному выражению
Я изучаю сценарии bash и пытаюсь понять, как regex работает с bash. В моей простой программе у меня есть файл с различными строками, но я хочу сопоставить простую пару int с форматом двух чисел, разделенных запятой и пробелом, как это: 123, 123. Я также хочу сопоставить строку с группами, чтобы легко извлечь первое и последнее числа из строки. Но когда я передаю образец файла в свою программу, он не соответствует ни одной из строк, которые я ожидаю.
Что я уже пробовал:
#!/bin/bash re="([0-9]+)(, )([0=9]+)" echo $1 file1=$1 while IFS= read -r line; do echo "The line is: $line" if [[ $line =~ $re ]]; then echo ${BASH_REMATCH[0]}; echo ${BASH_REMATCH[1]}; echo ${BASH_REMATCH[2]}; fi done