Remplacer un path dans un fichier par autre chose [bash] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 08-04-2009 à 00:24:16
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 |
Marsh Posté le 08-04-2009 à 11:25:44
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 |
Marsh Posté le 08-04-2009 à 16:06:11
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 j'apprend a m'en servir, mais merci beaucoup !
Marsh Posté le 07-04-2009 à 23:39:16
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