Remplacer balises shell

Résolu
DOVO -  
 DOVO -
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   Statut Contributeur Dernière intervention   1 847
 
Salut,
 cat fichier_de_donnees.txt | sed 's_T \(.*\)_<title>\1</title>_' >>fic.xml

Cdlt
1
DOVO
 
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   Statut Contributeur Dernière intervention   1 847
 
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
DOVO
 
merci pour ton aide
0