cant + remove char após uma palavra específica

1

Eu quero excluir o último "." somente se "." existem depois da palavra "usa"

meu comando sed removeu apenas o último "." ,

mas o que é necessário adicionar à sintaxe de sed (uma regra) para remover o "." somente depois da palavra "usa"

 host 10.1.23.86 | awk '{print $NF}'
 sho4.il.usa.


 host 10.1.23.86 | awk '{print $NF}' | sed s'/.$//'
 sho4.il.usa

o que você precisa adicionar no sed para remover o "." somente depois da palavra "usa"?

    
por yael 23.02.2016 / 11:39

2 respostas

1

Basta adicionar usa na expressão. Você também precisa escapar . para corresponder apenas ao ponto em vez de qualquer caractere.

sed s'/usa\.$/usa/'
    
por 23.02.2016 / 11:42
1

awk pode fazer mais do que o sed pode fazer, por isso é raro que você precise juntá-los.

host 10.1.23.86 | awk '{sub(/usa\.$/, "usa", $NF); print $NF}'
    
por 23.02.2016 / 12:34

Tags