br comando para substituir uma linha

1

Existe um arquivo sample.txt . O conteúdo deste arquivo é

..some content...
  # bind-address = ":7086"
  # bind-address = ":8086"

Eu quero descomentar a linha para a porta 7086 e substituir a porta também para 8888 para que o arquivo final modificado se pareça com

..some content...
   bind-address = ":8088"
  # bind-address = ":8086"

Eu quero fazer isso com o comando sed . Então, qual será o comando exato?

    
por Ashish Doneriya 02.05.2017 / 15:19

3 respostas

3

Como confirmado nos comentários, a string contém sempre # bind-address = ":7086" . Então, para substituí-lo, use apenas sed search e substitua a opção por codificar as strings.

sed -i 's/# bind-address = ":7086"/bind-address = ":8088"/' file2
    
por 02.05.2017 / 15:25
2

Tente isso,

sed -i 's/#\(.*\)7086/088/g' file_content

Aqui, tudo após # e antes de 7086 ser agrupado e, em seguida, toda a linha seria substituída por (grupo 1 ou digamos região 1) e sua porta necessária 8088

    
por 02.05.2017 / 15:34
0
sed '1,/#/ s/#/ /' filename > temp1

substitui a primeira ocorrência do padrão por espaço vazio.

depois, para alterar o número da porta

sed 's/7086/8086/' temp1 > filename
    
por 02.05.2017 / 15:24

Tags