Como eu mudo todo o “/” para “)” em todas as linhas de um arquivo que terminam em “)”

0

Estou usando o vim e acho que sei mudar todos os / para) mas não sei como aplicá-lo apenas para as linhas que terminam em

Eu quero mudar isso:

apples/oranges/grapes) 
apples/oranges/grapes 
apples/oranges/grapes)      
apples/oranges/grapes

para isso:

apples)oranges)grapes)
apples/oranges/grapes
apples)oranges)grapes)
apples/oranges/grapes
    
por Taylor 03.11.2017 / 02:25

2 respostas

3

A solução vim é muito semelhante à solução sed :

:g/)$/s!/!)!gEnter

Suponho que você queira editar apenas as linhas onde o último caractere é ) . Se você quiser incluir linhas nas quais ) é o último caractere não em branco , use

:g/)\s*$/s!/!)!gEnter
onde \s é código para um caractere de ritmo s (espaço ou tabulação). Estou usando ! da maneira como Hauke Laging usa + ; isso é apenas uma questão de preferência pessoal.     
por 03.11.2017 / 03:14
3
sed '/) *$/s+/+)+g' input

A parte /) *$/ seleciona as linhas a serem alteradas. O * está relacionado ao fato de haver espaços após o ) . Mas talvez esses espaços não sejam intencionais.

    
por 03.11.2017 / 03:01

Tags