Wiki script - Lista delle guide: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
S3v (discussione | contributi) mNessun oggetto della modifica |
S3v (discussione | contributi) mNessun oggetto della modifica |
||
Riga 46: | Riga 46: | ||
message2 | message2 | ||
exit 1 | exit 1 | ||
fi | |||
# Cancella, se presente, il file listaguide_titoli | |||
if [ -f $file1 ]; then | |||
rm $file1 | |||
fi | fi | ||
Riga 55: | Riga 60: | ||
awk -F 'title=\"|\">' '{ for (i=6; i<=NF; i++) print $i }' $tempfile1 | sed '1b;/<\/\?a/d'> $tempfile2 | awk -F 'title=\"|\">' '{ for (i=6; i<=NF; i++) print $i }' $tempfile1 | sed '1b;/<\/\?a/d'> $tempfile2 | ||
# Nome della pagina successiva | # Nome della pagina successiva | ||
ext="` | ext="`awk -F '[()]' ' NR==1 { print $2 }' $tempfile2`" | ||
if [ "$ext" = "" ]; then | if [ "$ext" = "" ]; then | ||
# se non c'è nessuna pagina successiva, vengono cancellate eventuali righe vuote | # se non c'è nessuna pagina successiva, vengono cancellate eventuali righe vuote | ||
Riga 65: | Riga 70: | ||
sed -i '/^$/d' $tempfile2 | sed -i '/^$/d' $tempfile2 | ||
fi | fi | ||
# viene creato il file listaguide_titoli | |||
cat $tempfile2 >> $file1 | |||
done | done | ||
Versione delle 12:08, 24 dic 2012
Versioni Compatibili Tutte le versioni supportate di Debian |
Introduzione
Questo script crea tre file:
- listaguide_titoli: contiene i titoli di tutte le guide del Wiki
- listaguide_url: contiene gli indirizzi di tutte le guide del Wiki
- listaguide_source_url: contiene gli indirizzi delle pagine sorgente di tutte le guide del Wiki
Script basato sull'output di queste pagine.
#!/bin/bash # variabili file1=listaguide_titoli file2=listaguide_url file3=listaguide_source_url url_pagina="http://guide.debianizzati.org/index.php?title=Speciale:Prefissi&from=" ext="&namespace=0" pref="guide.debianizzati.org/index.php" # crea due file temporanei tempfile1=`mktemp` tempfile2=`mktemp` # messaggi message1 () { echo -n "Esiste già un file $file1 o $file2 o $file3. Sovrascrivere [S/n]? " } message2 () { echo "wget non è installato. Uscita." } # previene la cancellazione accidentale dei file if [ -f $file1 -o -f $file2 -o -f $file3 ]; then message1 read risp case $risp in "") ;; [Ss]) ;; *) exit 1;; esac fi # Verifica se wget è presente if [ ! -f /usr/bin/wget ]; then message2 exit 1 fi # Cancella, se presente, il file listaguide_titoli if [ -f $file1 ]; then rm $file1 fi x=true while $x; do # scarica la prima pagina e ne filtra solo la riga con le guide. Il risultato va in tempfile1 wget -q -O - "$url_pagina""$ext" | sed -n '/.*<td id/,1p' > $tempfile1 # Estrae i nomi delle guide dalla riga, cancella le righe che contengono <a o </a tranne la prima. Il risultato è in tempfile2 awk -F 'title=\"|\">' '{ for (i=6; i<=NF; i++) print $i }' $tempfile1 | sed '1b;/<\/\?a/d'> $tempfile2 # Nome della pagina successiva ext="`awk -F '[()]' ' NR==1 { print $2 }' $tempfile2`" if [ "$ext" = "" ]; then # se non c'è nessuna pagina successiva, vengono cancellate eventuali righe vuote sed -i '/^$/d' $tempfile2 x=false else # se esiste una pagina successiva, viene cancellata la prima riga e eventuali righe vuote sed -i '1d' $tempfile2 sed -i '/^$/d' $tempfile2 fi # viene creato il file listaguide_titoli cat $tempfile2 >> $file1 done # viene creato il file listaguide_url sed "s#^#$pref/#" "$file1" > "$file2" # viene creato il file listaguide_source_url sed "s#.*#$pref?title=&\&action=edit#" "$file1" > "$file3" # rimozione file temporanei rm $tempfile1 $tempfile2
Guida scritta da: S3v 16:05, 23 dic 2012 (CET) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |