Effectuer un backpace avec sed
Résolu
matmat
-
matmat -
matmat -
Bonjour,
je souhaite faire un script qui remplace un mot "{back}" dans un fichier texte par un backspace, c'est a dire qui efface le charactere avant le mot "{back}", jimagine qu il faut utiliser sed mais je vois pas comment
merci :)
je souhaite faire un script qui remplace un mot "{back}" dans un fichier texte par un backspace, c'est a dire qui efface le charactere avant le mot "{back}", jimagine qu il faut utiliser sed mais je vois pas comment
merci :)
4 réponses
-
Salut,
$ echo -e "bonjour" | sed 's/.$/^?/' bonjou
Le "^?" s'obtient par la combinaison de touches "CTRL-V + Backspace".
;-)) -
ta commande donne :
echo -e "bonjour" | sed 's/.$/^?/'
bonjou^?
As-tu bien généré la séquence "^?" par la combinaison de touches "CTRL-V + Backspace" et non en tapant directement ^? sur ton clavier ???
Sinon essaye avec le code hexadécimal (08) :
$ echo -e "bon{back}jour" | sed 's/{back}/\x08/' bojour $ echo -e "bon{back}jour" | sed 's/{back}/\x08/'| sed -n l bon\bjour$ $ -
merci pour ta reponse rapide mais ca ne marche pas chez moi :/
le shell que j utilise est bash
ta commande donne :
echo -e "bonjour" | sed 's/.$/^?/'
bonjou^?
ce dont j ai besoin c est
echo -e "bon{BACK}jour" | sed 's/{BACK}/l_expr_que_je_cherche/'
bojour
merci quandd meme zipe :) -
ooops :p j avais fais copier coller de ta ligne en fait,
en faisant la combinaison ca fonctionne, pareil pour le code hexa
decidement linux est vraiment surprenant
merci beaucoup zipe :)
(pour info, la combinaison de touche fonctionne directement dans le shell et pour un script tapé dans un editeur j ai utilise le code hexa)