The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Recherche, remplacer dans la chaîne avec de la ficelle de fichier1 (lookup table) fichier2? gstuart De programmation et de script Shell 9 06-08-2009 06:11 AM
remplacer string sam99 De programmation et de script Shell 4 03-04-2008 01:39 AM
Chaîne de remplacement Aide SED prash184u De programmation et de script Shell 2 01-23-2008 01:57 AM
remplacer une chaîne de caractères melanie_pfefer De programmation et de script Shell 11 01-17-2008 10:57 AM
Remplacer chaîne de B en fonction des événements de la chaîne A hemangjani De programmation et de script Shell 1 12-05-2006 05:10 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 04-08-2008
chiru_h chiru_h is offline
Registered User
  
 

Date d'inscription: juillet 2006
Posts: 72
remplacer les cordes en XML avec sed

Salutations,
J'ai un XML: file.xml
Code:
<component>
       <name>abcd</name>
       <value>1234</value>
</component>
J'utilise sed pour remplacer abcd avec la valeur désirée dynamiquement sans connaître la valeur réelle.
Code:
sed 's/<name>[-[:alnum:]./]\{1,\}<\/name>/<name>ijkl<\/name>/' file.xml > newfile.xml
Je n'ai pas de problèmes avec cette commande sous Linux, mais sur les machines Solaris, je reçois le message d'erreur:
Citation:
sed: commande brouillé: / <name> [- [: alnum :]./] \ (1, \) <\ / name> / <nom> ijkl <\ / name> /
Si je retire >[-[: alnum :]./] \ (1, \) et mettre la valeur réelle, il est bien. Mais je dois le faire de manière dynamique comme je l'utiliser dans le script afin de remplacer la valeur existante à la valeur donnée.

Est-ce que quelqu'un s'il vous plaît aviser.

Merci,
Chiru

Dernière édition par Yogesh Sawant; au 04.08.2008 01:45 PM.. Motif: Ajout de balises de code
  #2 (permalink)  
Old 04-08-2008
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrateur
  
 

Join Date: Mar 2005
Lieu: Irlande
Posts: 4,209
Je suis surpris que cela fonctionne partout, la commande est déformée dans au moins un titre. Il ya 4 / caractères dans votre expression.

Je ne suis pas à une boîte de solaris maintenant, mais je suis sûr que Solaris sed ne prend pas en charge [::] format des expressions, pour vous obtenir plus de changement de quelque chose comme:

Code:
sed 's#<name>\([^<][^<]*\)</name>#<name>SOMETHING</name>#' file.xml
  #3 (permalink)  
Old 04-08-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,305
Si vous remplacez l'ensemble de la ligne devrait être suffisant:

Code:
sed 's#<name>.*#<name>SOMETHING</name>#' file.xml
Observe
  #4 (permalink)  
Old 04-08-2008
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Posts: 2,530
vous devez utiliser un outil de parsing XML, de ne pas sed. (même si elle peut encore être fait)
  #5 (permalink)  
Old 04-09-2008
chiru_h chiru_h is offline
Registered User
  
 

Date d'inscription: juillet 2006
Posts: 72
Merci Reborg / Franklin..both de leur travail, mais je suis en utilisant Reborg comme l'autre est en train de changer dans quelques autres endroits où je n'ai pas besoin.

Quelle sera la façon la plus simple d'analyse syntaxique XML - dans le sens que je peux utiliser dans le cadre du script qui ne fait que j'ai plusieurs autres tâches.

Merci,
Chiru
  #6 (permalink)  
Old 04-09-2008
ère era is offline Forum Advisor  
Inutile de Herder Cats (en congé sabbatique)
  
 

Join Date: Mar 2008
Location: / il / est / que / bin / sh
Messages: 3652
Le moins douloureux dépend de votre façon d'autres exigences. Si le fichier est simple, simple ligne par ligne shell utilitaires que vous connaissez doit normalement suffire. Si vous avez besoin de faire quelque chose qui nécessite une réelle compréhension de la structure XML (nidification, les frères et sœurs et des relations similaires, les conditions, etc), alors c'est probablement un sens pour obtenir au moins une introduction à la connaissance des bon outil XML. Il existe plusieurs formalismes de choisir et de nombreux outils qui les mettent en oeuvre; personnellement, j'ai été en mesure de faire les choses avec xsltproc après le premier choc d'essayer de comprendre ce qui a pris la tête des gens qui sont venus avec le cahier des charges pour cela.
Closed Thread

Bookmarks

Tags
linux, solaris

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 05:04 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0