Remplacer balises shell
Résolu
DOVO
-
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
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:
- Remplacer balises shell
- Classic shell - Télécharger - Personnalisation
- Remplacer disque dur par ssd - Guide
- Remplacer word - Guide
- Remplacer coco - Accueil - Réseaux sociaux
- Quel site pour remplacer coco - Accueil - Réseaux sociaux
2 réponses
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 :
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>_'
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