У меня есть эта строка в моем .gitconfig, и есть много \
[alias]
alias = "!git config -l | egrep ^alias | sed -e s/alias.\\\\\\([^=\\ ]\\\\+\\\\\\)=/\\\\1\\ =\\ /"
для повторного примера. \\\\\\(
это просто начало группы в rexep, если она подходила для совпадения с символом.(, ему понадобится еще один слой для экранирования.
и точка после псевдонима должна, вероятно, иметь косую черту, но сколько?
Если кто-то может составить список, объясняющий, где находится процесскаждый слой escape-символов удаляется, я могу немного лучше понять, что происходит.
- Сколько \ должно быть до точки после псевдонима?
- почему?
Редактировать 1, данные примера: grep alias ~/.gitconfig -A 6
[alias]
alias = "!git config -l | egrep ^alias | sed -e s/alias.\\\\\\([^=\\ ]\\\\+\\\\\\)=/\\\\1\\ =\\ /"
blog = log --graph --oneline --decorate --all --simplify-by-decoration
flog = log --graph --oneline --decorate --all
test = !composer test
require = !composer require
update = !composer update
install = !composer install
Пример вывода git alias
alias = !git config -l | egrep ^alias | sed -e s/alias.\\\([^=\ ]\\+\\\)=/\\1\ =\ /
blog = log --graph --oneline --decorate --all --simplify-by-decoration
flog = log --graph --oneline --decorate --all
test = !composer test
require = !composer require
update = !composer update
install = !composer install
Пример вывода git config -l
(только интересные строки)
alias.alias=!git config -l | egrep ^alias | sed -e s/alias.\\\([^=\ ]\\+\\\)=/\\1\ =\ /
alias.blog=log --graph --oneline --decorate --all --simplify-by-decoration
alias.flog=log --graph --oneline --decorate --all
alias.test=!composer test
alias.require=!composer require
alias.update=!composer update
alias.install=!composer install