Простое регулярное выражение Bash соответствует отсутствующему символу (OS X)

оказывается, что ag совпадает с полным путем к файлу. Поэтому нам нужно изменить регулярное выражение в строках:

ag -g '/foo[^/]*$'

credits на bmalehorn

2
20.03.2019, 15:05
1 ответ

't' находится между двумя подрегексами: \ t , что не интерпретируется как табуляция, а как t . Таблица будет $ '\ t' .

Попробуйте вместо этого:

$ msg=$'[4]\tthe message'
$ [[ "$msg" =~ (.+)$'\t'(.+) ]]
$ echo ${BASH_REMATCH[1]}
[4]
$ echo ${BASH_REMATCH[2]}
the message
5
27.01.2020, 21:56

Теги

Похожие вопросы