Execute o comando anterior com várias substituições

0

Muitos de vocês provavelmente sabem que os comandos ^foo^bar^ ou !:gs/foo/bar são úteis para executar o comando anterior substituindo o padrão "foo" pelo padrão "bar".

Mas existe uma maneira de substituir múltiplos padrões do comando anterior, como por exemplo em ls *.jpg | grep photo substituindo as palavras "jpg" e "photo" sem um padrão muito complicado como !:gs/jpg\(.*\)photo/pngfoto ?

    
por Penguin Nurse 25.11.2016 / 11:18

2 respostas

2

Você pode fazer assim:

!!:s/jpg/png/:s/photo/picture/
    
por 25.11.2016 / 14:17
0

Não é mais curto do que apenas redigitar o seu comando de amostra, mas você o faz de outra direção e recupera apenas as partes desejadas (aqui ls e | grep , depois digite as substituições:

$ ls *.jpg | grep photo
$ !:0 *.png !:2-3 picture

Resultados em:

ls *.png | grep picture

    
por 25.11.2016 / 13:11