como ver o conteúdo de um arquivo (arquivo cat), mas eliminar uma certa string em muitas linhas

1

Eu tenho um arquivo como este:

ins.pro.server.pro.net
ins.pro-server2.pro.net
ins.pro-server3.pro.net
ins.pro-server4.pro.net

Eu gostaria de catar este arquivo, mas eliminando a string específica ".pro.net" de todas as linhas, então pode resultar assim:

ins.pro-server
ins.pro-server2
ins.pro-server3
ins.pro-server4

Agradecemos antecipadamente por sua ajuda

P.S .: Eu usei algumas opções sed antes, mas também excluiu a primeira parte de "ins.pro-server" deixando-a como "ins.-server"

    
por Juan Manher 10.10.2014 / 04:38

2 respostas

-2

Estou fazendo isso da memória, mas acredito que o seguinte deve funcionar:

cat $ file | sed s / \. pro \ .net //

Referência: Sed Tutorial de Bruce Barnett

O MVP (abaixo) está correto. Por alguma razão, minhas barras invertidas nos pontos não apareceram (eu acho que preciso escapar delas?). Além disso, o gato é redundante, porque você pode simplesmente adicionar o argumento do arquivo no final, como o MVP sugeriu.

(Eu comentaria a resposta dele, mas ainda não tenho 50 repetições) (As barras invertidas na minha resposta estavam originalmente ausentes porque eu não as escapei)

    
por 10.10.2014 / 04:56
4

Use isto:

sed "s/\.pro\.net//g" file

Primeiro, você não precisa de gato para isso, segundo, certifique-se de usar \. em vez de apenas . , porque ponto significa corresponder a qualquer símbolo. Pode parecer funcionar, mas também corresponderia à string xproynet , que provavelmente não é o que você deseja.

    
por 10.10.2014 / 06:45

Tags