Eu quero adicionar zsh-autosuggestions
plugin ~/.zshrc
por script.
texto original:
plugins=(git)
ou
plugins=(git
some1
some2)
alvo :
plugins=(git
zsh-autosuggestions)
Isso não funciona.
sed -i 's/^plugins=\(([^\)]*)\)/plugins=\(\1\nzsh-autosuggestions\n\)/' ~/.zshrc
Estou confuso, acho que este
([^\)]*)
é o grupo 1, mas por que não funcionamas remova o primeiro grupo
()
sed -i 's/^plugins=\([^\)]*\)/plugins=\(\1\nzsh-autosuggestions\n\)/' ~/.zshrc
acabar por
plugins=((git zsh-autosuggestions ) )
Eu escapei do
()
by\
, por que se tornou o grupo 1?
Sed
solução:~/.zshrc
Conteúdo da amostra :N
- adicione uma nova linha ao espaço do padrão e, em seguida, anexe a próxima linha de entrada ao espaço do padrão\(...\)
- grupo capturado regex; deve ser escapado\
em BRE para habilitar seu significado especialA saída:
O comando abaixo funciona bem para mim
Comando
Resultado