Remplacer balises shell

Résolu/Fermé
DOVO - 23 mars 2009 à 15:48
 DOVO - 23 mars 2009 à 19:10
Bonjour,
Je réalise actuellement un petit programme en shell et je lutte sur une commande, le but de ma commande est d'intentifier une ligne contenu dans un fichier texte, cette ligne est repérable car elle commence par "T ". je souhaiterai que cette ligne soit remplacer une autre ligne contenant le meme texte mais commencant par <title> et finissant par </title>.

voici la commande que j'ai essayé:

cat fichier_de_donnees.txt | =sed "'s_T _<TITLE>_' >>fic.xml

cette commande permet de remplacer par une balise de début mais je n'arrive pas a placer ma balise de fin
pouvez vous m'aider?

exemple de déroulement:
fichier d'origine (fichier de donnees.txt):
T bonjour
fichier de sortie
<title>bonjour</title>

Merci
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
23 mars 2009 à 16:06
Salut,
 cat fichier_de_donnees.txt | sed 's_T \(.*\)_<title>\1</title>_' >>fic.xml

Cdlt
1
Ok merci ca marche sauf qu'en fait il faut que je mette des " dans la balise que j'ai crée, et cela ne marche pas forcément.

cat fichier_de_donnees.txt | sed 's_T \(.*\)_<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html
xmlns= http://www.w3.org/1999/xhtml'> <head>
<meta content='text/html; charset=UTF-8'
http-equiv='Content-Type'/>
<title>\1</title>
</head>
_'
>fichier_de_donnees.xml

merci de m'aider
cdlt
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
23 mars 2009 à 17:36
sauf qu'en fait il faut que je mette des "
Il n'y a aucun soucis si tu veux mettre des guillemets. L'erreur est qu'il y avait des apostrophes dans ton expression. Si tu veux en mettre, il te suffit de l'entourer de guillemets. Par exemple : 's_T_L' " ' " 'heure_'.
Sinon :
cat fichier_de_donnees.txt | sed 's_T \(.*\)_<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/> <title>\1</title> </head>_'
1
merci pour ton aide
0