Removendo e substituindo a parte do meio de uma string no bash

1

Eu tenho algumas frases:

Central and Western</td><td><a href="javascript:pop1('major-housing-estate/30006.html');" title="Kwun Lung Lau">Kwun Lung Lau

Central and Western</td><td><a href="javascript:pop1('major-housing-estate/61782.html');" title="The Merton">The Merton

Eastern</td><td><a href="javascript:pop1('major-housing-estate/10038.html');" title="Fung Wah Estate">Fung Wah Estate

Wong Tai Sin</td><td><a href="javascript:pop1('major-housing-estate/20134.html');" title="Tsz Oi Court">Tsz Oi Court

E eu quero remover e substituir as partes do meio:

De:

</td><td><a href="javascript:


Para:

">

Eu quero substituir essa parte inteira pelo caractere:

;

Eu preciso que minhas cordas se tornem:

Central and Western;Kwun Lung Lau

Central and Western;The Merton

Eastern;Fung Wah Estate

Wong Tai Sin;Tsz Oi Court

Como faço isso de maneira genérica?

    
por Rutger Huijsmans 20.07.2016 / 08:40

1 resposta

1

Se suas strings estiverem em um arquivo chamado file :

$ sed 's|</td><td><a href="javascript:[^>]*">|;|g' file
Central and Western;Kwun Lung Lau
Central and Western;The Merton
Eastern;Fung Wah Estate
Wong Tai Sin;Tsz Oi Court

Se a sua string estiver em uma variável do shell chamada s :

$ echo "$s"
Central and Western</td><td><a href="javascript:pop1('major-housing-estate/30006.html');" title="Kwun Lung Lau">Kwun Lung Lau
$ echo "$s" | sed 's|</td><td><a href="javascript:[^>]*">|;|g'
Central and Western;Kwun Lung Lau
    
por 20.07.2016 / 09:01

Tags