Outils d'utilisateurs

Outils du Site


lien:bash:perso:abs

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

lien:bash:perso:abs [2009/05/24 18:41]
per
lien:bash:perso:abs [2009/05/24 21:08] (Version actuelle)
per
Ligne 1: Ligne 1:
 +[[.:utilitaires|retour]]
 ==== Guide avancé d'écriture des scripts Bash ==== ==== Guide avancé d'écriture des scripts Bash ====
-[[ABS |Advanced Bash-Scripting Guide]] 
 **Une exploration en profondeur de l'art de la programmation shell** **Une exploration en profondeur de l'art de la programmation shell**
  
Ligne 99: Ligne 99:
 <code bash> <code bash>
 do do
- sed -n "$deb,${fin}p" tmp |sed -e "s/<\/pre>//" -e ";s/<pre class=\"programlisting\">//" -e 's/^ *$//' -e '/./,$!d' >${fichier}_${i}.sh +    sed -n "$deb,${fin}p" tmp |sed -e "s/<\/pre>//;s/<pre class=\"programlisting\">//" -e 's/^ *$//;/./,$!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 
-    done+done
 </code> </code>
 On va faire les boucle manuellement : On va faire les boucle manuellement :
Ligne 110: Ligne 110:
 On recommence la boucle for avec fin qui prend la deuxième valeur On recommence la boucle for avec fin qui prend la deuxième valeur
 lancez sed -n " ...,...p" tmp lancez sed -n " ...,...p" tmp
-Pour ce deuxième cas, lancez sed -n "...,...p" tmp |sed -e "s/<\/pre>//" -e "s/<pre class=\"programlisting\">//"+Pour ce deuxième cas, lancez  
 +<code bash> 
 +sed -n "...,...p" tmp |sed -e "s/<\/pre>//" -e "s/<pre class=\"programlisting\">//"
 +</code>;
 Notez les différences. Notez les différences.
 +<code bash>
 Enfin, lancez  sed -n "...,...p" tmp |sed -e "s/<\/pre>//" -e "s/<pre class=\"programlisting\">//" -e 's/^ *$//' -e '/./,$!d' Enfin, lancez  sed -n "...,...p" tmp |sed -e "s/<\/pre>//" -e "s/<pre class=\"programlisting\">//" -e 's/^ *$//' -e '/./,$!d'
 +</code>
 +
 +=== Comparaison des résultats avec diff ===
 +<code bash>
 +sed -n " ...,...p" tmp >tmp1
 +sed -n "...,...p" tmp |sed -e "s/<\/pre>//" -e "s/<pre class=\"programlisting\">//" >tmp2
 +sed -n "...,...p" tmp |sed -e "s/<\/pre>//" -e "s/<pre class=\"programlisting\">//" -e 's/^ *$//' -e '/./,$!d' >tmp3
 +puis diff tmp1 tmp2
 +enfin diff tmp2 tmp3
 +</code>
  
 ==== Proposez un nouveau script, qui extrait tous les scripts des pages html ==== ==== Proposez un nouveau script, qui extrait tous les scripts des pages html ====
Ligne 120: Ligne 133:
 Pour chaque fichier html de la liste  Pour chaque fichier html de la liste 
 faire faire
- ./html2sh ........+ ./html2sh ........
 fin de la boucle for fin de la boucle for
  
lien/bash/perso/abs.1243183265.txt.gz · Dernière modification: 2009/05/24 18:41 par per