Je n'ai aucune expérience de bash, je veux juste savoir comment commencer.
Je dois écrire un script Bash qui formate correctement un document XHTML. Par exemple, tournez ceci: p> dans ceci: p> Je crois que je dois faire quelque chose comme: P> cat > format1 #create file
#!bin/bash
if tail of a line ends with "</A-a>": (like </li> or </ol> or </p> or </ul>)
add \n
fi
if head of a line = <ol> or <ul>
add \n
fi
5 Réponses :
Je vous suggère de regarder le utilitaire HTML-Tidy . P>
Vous n'êtes pas obligé d'écrire un formateur vous-même, de nombreux utilitaires existants qui font cela pour vous, laissent de côté, ce n'est pas une tâche triviale et "Comment implémenter un joli formateur d'impression HTML" serait vraiment Une question large à poser (questions larges sont contre les règles Stackoverflow). P>
Utilisez la commande ci-dessus crée un < Code> alias code> pour TIDEY qui dit d'indenter le fichier sous XML (assure que toutes les balises ont des étiquettes de fermeture), indentez avec un seul espace et modifie le fichier en place. P> P> html-wardy code>. Ce serait une bonne idée d'ajouter ceci à votre .bstrucc code> si vous souhaitez utiliser Tidy code>
Merci de répondre, mais je cherche réellement à le faire moi-même puisque nous n'avons pas la permission d'installer quelque chose (boiteux). J'utilise actuellement Puty.
HTML Tidy peut déjà être installé sur votre système, c'était pour moi et je ne me souviens jamais de l'installer. Vous voudrez peut-être vérifier en exécutant - si vous obtenez le manuel, vous êtes prêt à rock and roll! P>
Une autre alternative à examiner est xmllint, qui peut être installée sur votre système:
Compte tenu des contraintes que le problème doit être résolu avec un script Bash et que vous ne pouvez pas utiliser HTMLTIDY, alors je vous lancerais en créant un fichier htmltidy.sh qui contient: à Utilisez ce programme, vous conduisez au contenu de ce type comme suit: P> Ce programme de jouets se brisera très rapidement dès que la complexité de l'entrée commence à devenir plus complexe. Mais cela vous donnera une idée de la raison pour laquelle il est préférable d'utiliser une utilité de l'étagère plutôt que d'écrire le vôtre. p> p>cat sexist.html | ./xhtmltidy.sh
2. Bash n'est pas le bon outil ici. Faites-le dans Python ou Ruby, beaucoup de bibliothèques pour ce type de travail