GNU/Linux >> Tutoriels Linux >  >> Linux

Un Xml sans Lf veut-il le rendre joli en utilisant la commande Sed dans le shell ?

J'ai une structure de projet dans mon référentiel git et j'aimerais exécuter une commande shell dans git bash pour remplacer tous les > avec >\n (LF).
J'ai essayé la commande suivante :

find . -name '*.xml' -exec sh -c 'sed 's/>/>\n/g "$0"' '{}' ';'

signifiant remplacer les ensembles ci-dessus (> avec >\n ) dans tous les fichiers xml trouvés dans mon projet.

Je ne sais pas ce que je fais de mal depuis que j'atterris dans l'éditeur avec le curseur ">"…
(juste le rendre joli dans un éditeur - par exemple, Note ++ est facile avec les plugins pour XMLTools mais je veux que mes fichiers soient modifiés pour avoir en eux le LF après chaque balise XML)

Lorsque j'écris la commande pour un fichier uniquement, cela fonctionne bien :

$ sed 's/>/>\n/g' MyFile.xml

Réponse acceptée :

C'est une mauvaise idée d'utiliser sed pour cela, ce que vous semblez faire est de formater le fichier XML.

C'est une tâche simple pour n'importe quel parseur XML, ex :

xmllint --format file.xml

Cet utilitaire est souvent installé par défaut sur GNU Linux, ou avec le package libxml2

ou

xmlstarlet format file.xml

Linux
  1. Comment convertir un fichier PPK en PEM à l'aide de la commande

  2. Utilisation des touches Vi pour modifier les commandes Shell sous Unix ?

  3. Dupliquer le fichier X fois dans le shell de commande ?

  4. 10 Exemples de commande Sed (éditeur de flux)

  5. Exemples de commandes sed sous Linux

Comment exécuter la commande Sudo sans mot de passe

Utilisation de la commande Cat sous Linux avec des exemples

Rendez votre coquille de poisson magnifique avec Oh My Fish

Comment rediriger la sortie de la commande shell

Comment supprimer des lignes d'un fichier à l'aide de la commande Sed

Linux make Commande avec des exemples