Jump to content

Comment faire un sed de "/" ?


Recommended Posts

Bonjour,

je souhaiterais savoir comment faire un sed de la ligne dessous qui se trouve dans un fichier nommé sauvegardes.txt

/pg_backup/pgiappli/appli/appli_20210411.gz

 

j'ai fait ceci:

sed 's/pg_backup//g' sauvegardes.txt | sed 's/pgiappli//g' | sed 's/appli//g' | sed 's/_//g' | sed 's/.gz//g'

 

résultat:

////20210411

 

Comment faire pour supprimer les "/" ?

Merci pour votre retour

jakol

 

 

 

 

 

 

Link to post
Share on other sites
Il y a 18 minutes, jakol a écrit :

/pg_backup/pgiappli/appli/appli_20210411.gz

 

j'ai fait ceci:

sed 's/pg_backup//g' sauvegardes.txt | sed 's/pgiappli//g' | sed 's/appli//g' | sed 's/_//g' | sed 's/.gz//g'

 

résultat:

////20210411

 

Comment faire pour supprimer les "/" ?

En général, le caractère d'échappement \ permet de ne pas interpréter le caractère suivant.

Dans sa syntaxe, sed utilise les /

Donc sed /\///g va remplacer le '/'

Du coup, ta ligne devient:

 sed 's/\/pg_backup\/pgiappli\/appli\/appli_//g' sauvegardes.txt| sed 's/.gz//g

On peut faire mieux avec une capture:

sed -rn 's/\/pg_backup\/pgiappli\/appli\/appli_(.*).gz/\1/p' sauvegardes.txt


 

Edited by brice.wernet
Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...