Uso do comando Sed sem definir variáveis no shell script

1

Eu tenho duas variáveis

source_repo="fdl_ppe_01_04_repos_svc"
target_repo="fdl_ppe_01_10_repos_svc"

e atualmente faço uma substituição dentro de um arquivo XML para substituir todas as instâncias de $ source_repo por $ target_repo:

sed "s/$source_repo/$target_repo/g" $1 > $1_changed

Como formato o comando sed para que corresponda ao padrão "fdl_ppe_01_XX_repos_svc" e substitua por $ target_repo (XX só pode ter dois dígitos)

... basicamente eu não quero mais ter que definir $ source_repo no script

Eu estou lutando para entender a sintaxe do sed, então qualquer ajuda é apreciada!

    
por Chris Finlayson 09.03.2016 / 09:59

1 resposta

0

Correspondência de caracteres usada em seu comando sed:

Classe de caractere - [: digit:] = dígitos numéricos [0-9]

sed "s/fdl_ppe_01_[0-9][0-9]_repos_svc/$target_repo/g" $1 > $1_changed

$ 1_changed lhe dará a saída desejada, acredito.

    
por 09.03.2016 / 11:53