Substituir uma string incluindo uma barra “/” usando o comando sed

0

Como substituo uma string I1Rov4Rvh/GtjpuuYttr== por mytest em um comando mtestsed.properties with sed ?

Eu tentei:

sed -e -i 's/I1Rov4Rvh/GtjpuuYttr==/mytest/g' mtestsed.properties
    
por Chintan 27.07.2017 / 07:06

2 respostas

4

O problema é o / no texto que você deseja substituir. Este é um caractere especial para sed e, portanto, você precisa escapar com um \ . Também como apontado nos comentários: o comando também falha por causa da opção -e que espera um script.

Isso deve funcionar:

sed -i 's/I1Rov4Rvh\/GtjpuuYttr==/mytest/g' mtestsed.properties
    
por 27.07.2017 / 07:20
0

O delimitador sed pode ser qualquer caractere, precisamente para ocasiões em que você precisa substituir uma string por /

ou

  • escape% símbolo/:

    sed -i 's/I1Rov4Rvh\/GtjpuuYttr==/mytest/g'
    
  • use outro separador:

    sed -i 's|I1Rov4Rvh/GtjpuuYttr==|mytest|g'
    

    sed -i 's:I1Rov4Rvh/GtjpuuYttr==:mytest:g'
    
por 27.07.2017 / 08:58