Rechercher et remplacer par sed lorsque les points et les traits de soulignement sont présents
Comment puis-je la remplacer foo. avec foo_ avec sed tout simplement en train de
sed 's/foo./foo_/g' file.php
ne fonctionne pas.
Merci!
source d'informationauteur algorithmicCoder
Vous devez vous connecter pour publier un commentaire.
Échapper à la
.
:sed 's/foo\./foo_/g' file.php
Exemple:
Échapper le point avec un \
Si vous trouvez la combinaison de /et \ déroutant vous pouvez utiliser un autre "séparateur" caractère
Le 2ème caractère après le s peut être n'importe quoi et sed va utiliser ce caractère comme un séparateur.
Intéressant, si vous souhaitez rechercher et remplacer juste le point, vous avez à mettre le point dans un jeu de caractères. S'échapper juste le point seul dans un sed commande pour une raison quelconque ne fonctionne pas. La dot est encore élargi à un seul caractère joker.
GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
'--------'
aa-bb-cc
Avec l'ajout de personnages principaux dans la recherche, l'évasion d'œuvres.
foo_
De mettre le point dans un jeu de caractères de cours fonctionne également.
foo_
--
Paul
Vous avez besoin pour échapper à la dot - non échappés point correspond à tout caractère après foo.
Pour moi,
sed 's/foo\./foo_/g'
est de travail. Mais vous pouvez aussi essayer:et
et