Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
lien:bash:perso:abs:html2sh [2009/05/24 20:38] per |
lien:bash:perso:abs:html2sh [2009/05/24 21:10] (Version actuelle) per |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| [[.|retour]] | [[.|retour]] | ||
| ====== html2sh ====== | ====== html2sh ====== | ||
| - | Script bash pour extraire les scripts des pages html de http://abs.traduc.org/abs-5.3-fr/ | + | Script bash pour extraire les scripts des pages html du Guide avancé d'écriture des scripts Bash |
| <code bash> | <code bash> | ||
| #!/bin/bash | #!/bin/bash | ||
| Ligne 14: | Ligne 15: | ||
| if grep -q programlisting "$1" | if grep -q programlisting "$1" | ||
| then | then | ||
| - | # sélection des lignes de programlisting entre <pre et /pre> | + | # sélection des lignes d'un script entre <pre ... programlisting et /pre> |
| # Tous les scripts seront regroupés dans le fichier temp | # Tous les scripts seront regroupés dans le fichier temp | ||
| sed -n '/<pre class=\"programlisting\">/,/<\/pre>/p' "$1" >temp | sed -n '/<pre class=\"programlisting\">/,/<\/pre>/p' "$1" >temp | ||
| Ligne 32: | Ligne 33: | ||
| # on va du début à la fin d'un script, puis on supprime les lignes de pre, enfin on enlève les lignes vides du début | # on va du début à la fin d'un script, puis on supprime les lignes de pre, enfin on enlève les lignes vides du début | ||
| sed -n "$deb,${fin}p" tmp |sed -e "s/<\/pre>//;s/<pre class=\"programlisting\">//" -e 's/^ *$//;/./,$!d' >${fichier}_${i}.sh | sed -n "$deb,${fin}p" tmp |sed -e "s/<\/pre>//;s/<pre class=\"programlisting\">//" -e 's/^ *$//;/./,$!d' >${fichier}_${i}.sh | ||
| - | sed -n "$deb,${fin}p" tmp |sed -e "s/<\/pre>//" -e "s/<pre class=\"programlisting\">//" -e 's/^ *$//' -e '/./,$!d' >${fichier}_${i}.sh | ||
| deb=$fin #pour le script suivant | deb=$fin #pour le script suivant | ||
| let i=i+1 #on incrémente le numéro de script | let i=i+1 #on incrémente le numéro de script | ||
| Ligne 42: | Ligne 42: | ||
| exit 0 | exit 0 | ||
| </code> | </code> | ||
| + | |||
| + | Ce script utilise beaucoup l'éditeur de flux Sed, pour en savoir plus : | ||
| + | http://www.commentcamarche.net/faq/478-sed | ||
| + | [[.|retour]] | ||