Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2526 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [bash] Remplacer un path dans un fichier par autre chose

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[bash] Remplacer un path dans un fichier par autre chose

n°1126991
guepe
J'ai du noir sur la truffe ?
Posté le 07-04-2009 à 23:39:16  profilanswer
 

Je pensais utiliser sed (jamais utilise encore) mais... ca plante et je ne sais pas trop quoi faire.
 
Je souhaite remplacer dans un fichier les occurences de plusieurs path. Exemple:
 
/export/tmp/srcDW/WHATEVER/trunk/SW/wfsoftware
par .
 
/export/tmp/srcDW/WHATEVER/trunk/SW/WIC_jtag_emu/
par src
 
et quelques autres.
 
J'ai ca (pour commencer, je pensais les faire tous un par un)
sed -i 's/\/export\/tmp\/srcDW\/WHATEVER\/trunk\/cell\/\sw/ '  "$DIR_PACKAGE"/src/Makefile.in
 
Mais ca plante : sed: -e expression #1, char 54: unterminated `s' command
 
J'ai teste remplacer par les singl quotes, double quotes... j'ai pas trouve la bonne configuration.
 
Avez vous un pointeur ou une solution ? Merci !


---------------
Un blog qu'il est bien
mood
Publicité
Posté le 07-04-2009 à 23:39:16  profilanswer
 

n°1126993
twocats
Posté le 08-04-2009 à 00:24:16  profilanswer
 

Pour quoi y-a-t'il un antislash devant le dernier "s" ?

Citation :

sed -i 's/\/export\/tmp\/srcDW\/WHATEVER\/trunk\/cell\/\sw/ '  "$DIR_PACKAGE"/src/Makefile.in


Et tu n'indique pas par quoi remplacer. Si j'ai bien compris comme ça cela devrait marcher :

Citation :

sed -i 's/\/export\/tmp\/srcDW\/WHATEVER\/trunk\/cell\/sw/\./ '  "$DIR_PACKAGE"/src/Makefile.in


---------------
La réponse est 42
n°1127050
[Albator]
MDK un jour, MDK toujours !
Posté le 08-04-2009 à 11:25:44  profilanswer
 

Pourquoi utiliser le / comme caractère de séparation dans l'expression sed, alors qu'il y a déja plein de / partout ?
C'est plus lisible en utilisant un autre caractère, par exemple avec ce caractère §:

Citation :

sed -i 's§/export/tmp/srcDW/WHATEVER/trunk/SW/wfsoftware§.§'  "$DIR_PACKAGE"/src/Makefile.in

n°1127142
guepe
J'ai du noir sur la truffe ?
Posté le 08-04-2009 à 16:06:11  profilanswer
 

Ca fonctionne tres bien (j'ai utilise la proposition de twocats parce que j'etais faineant, sa solution est proche de celle que j'utilisais. En fait c'est mon \./ qui manquait au bout (plus un typo)
 
J'ai tous mes sed qui marchent  :D j'apprend a m'en servir, mais merci beaucoup !


---------------
Un blog qu'il est bien

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [bash] Remplacer un path dans un fichier par autre chose

 

Sujets relatifs
remplacer rapidement des mots d'un fichier par ceux d'un autre fichier[Make + Bash] @%$# de parentheses :)
[Bash] mise a jour d'une variable (string) [FOU]remplacer bout de code pour plusieurs fichiers
Remplacer dans les fichiers avec sedPetit script bash [resolu]
[bash] Extinction auto du pc si idle et eth0 non sollicitéMedia center alternatif pour remplacer WMC
[Bash] Script de création de clés SSH automatique 
Plus de sujets relatifs à : [bash] Remplacer un path dans un fichier par autre chose


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR