Procura padrão e remove padrão sem afetar o resto da linha

0

Eu preciso remover uma subseqüência de 3 caracteres de um documento, que pode estar localizado em qualquer parte do documento, por exemplo.

text
text
text
bla bla bla -ri bla bla bla
text
text
text

Eu gostaria de procurar por -ri e removê-lo para obter

text
text
text
bla bla bla bla bla bla
text
text
text

Se esta fosse uma linha fixa e um número de caractere, tenho certeza que poderia extirí-la com sed ou cut, mas não sei como fazer isso se a linha e a posição do caractere forem variáveis. Isso é possível?

    
por Blaise 04.07.2017 / 13:27

2 respostas

4

Você não precisa saber o número da linha, você pode ter sed incondicionalmente (tente) modificar cada linha:

$ sed -e 's/-ri //' < input > output

Fica mais complicado se você tiver correspondências em várias linhas e quiser lidar apenas com algumas delas.

    
por 04.07.2017 / 13:30
2

sed pode ser usado para tarefas como esta:

sed 's/-ri //g' path/to/file

encontrará todas as ocorrências de -ri e as substituirá por nada usando o s substitute operado em sed

    
por 04.07.2017 / 13:30