#!/usr/bin/bash # Mode d'emploi du programme : # bash programme_tableau.sh NOM_DOSSIER_URL NOM_FICHIER_HTML "MOTIF" # le programme prend 3 arguments : # - le premier est le nom du dossier contenant les fichiers d'URLs, i.e l'INPUT : $1 par la suite # - le second est le fichier TABLEAU au format HTML : $2 par la suite # - le troisième est le motif : $3 "婚姻|mariage|marriage" #------------------------------------------------------------------------------- # Phase 1 : écriture entête fichier html echo "<html><head><title>TABLEAU URL : Mariage, Marriage, 婚姻</title><meta charset=\"UTF-8\"></head>" >> $2 ; echo "<body>" >> $2 ; #------------------------------------------------------------------------------- compteurtableau=1; # Phase 2 : traitement de chacun fichier d'URLs for fichier in $(ls $1) do echo "<table align=\"center\" border=\"1\">" >> $2 ; echo "<table style=\"width: 100%;border-collapse: collapse; align=\"center\">" >> $2 ; echo "<tr><td colspan=\"12\" align=\"center\" bgcolor:black;\><b>Tableau n° $compteurtableau</b></td></tr>" >> $2; echo "<tr><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">N°</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">CodeHttp</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">URL</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Page Aspirée</th> <th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Encodage</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Dump</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Contexte</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Contexte HTML</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Fq Motif</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Index</th><th style=\"border: 1px solid #ddd;padding: 8px;padding-top: 12px; padding-bottom: 12px;text-align: left;background-color: #F1948A;color: white;\">Bigramme</th></tr>" >> $2 ; # Phase 3 : traitement de chaque ligne du fichier d'URL # ==> écriture d'une ligne dans le tableau html compteur=1; # 1ere colonne : N° for ligne in $(cat $1/$fichier) do code_sortie=$(curl -s -L -o tmp.txt -w "%{http_code}" $ligne | tail -1) ; # code_sortie contient le code retour de la connexion HTTP. 2ere colonne : CodeHttp if [[ $code_sortie == 200 ]] then # URL OK # recherche de l'encodage de l'URL en cours ENCODAGE=$(curl -sIL "$ligne" | egrep -i "charset" | cut -f2 -d"=" | tr "[a-z]" "[A-Z]" | tr -d "\n" | tr -d "\r") ; echo -e "$compteurtableau::$compteur::$code_sortie::$ENCODAGE::$ligne\n"; if [[ $compteurtableau == '2' ]] # traitement des urls en chinois qui ont besoin de la segmentation (fichier 2) then if [[ $ENCODAGE == "UTF-8" ]] # si la page est en utf-8 then echo -e "ENCODAGE initial <$ENCODAGE> OK : on passe au traitement\n"; # aspiration de l'URL curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; # dump de l'URL lynx -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- # 1. segmentation bash ./stanford-segmenter-2018-10-16/segment.sh -k ctb ./DUMP-TEXT/$compteurtableau-$compteur.txt "UTF-8" "0"> ./SEGMENTATION/seg_$compteurtableau-$compteur.txt # 2. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 3. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 4. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 5. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 6. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; #--------------------------------------------------------------------------- else # si la page n'est pas en utf-8 echo -e "==> il faut traiter les URLs OK qui ne sont pas à priori en UTF8\n" ; echo -e "ENCODAGE initial : <$ENCODAGE>\n"; if [[ $ENCODAGE == "" ]] then curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; ENCODAGEFILE=$(egrep "<meta.+charset *= *[^>]+" ./PAGES-ASPIREES/$compteurtableau-$compteur.html | egrep -o "charset *= *[^>]+" | cut -f2 -d"=" | egrep -o "(\w|-)+" | tr "[a-z]" "[A-Z]" | uniq); echo -e "ENCODAGE initial vide. ENCODAGE extrait via egrep : $ENCODAGEFILE \n"; echo -e "Il faut désormais s'assurer que cet encodage peut être OK ou pas... \n"; if [[ $ENCODAGEFILE == "UTF-8" ]] then echo -e "ENCODAGE <$ENCODAGEFILE> OK : on passe au traitement\n"; # dump de l'URL lynx -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- # 1. segmentation bash ./stanford-segmenter-2018-10-16/segment.sh -k ctb ./DUMP-TEXT/$compteurtableau-$compteur.txt "UTF-8" "0"> ./SEGMENTATION/seg_$compteurtableau-$compteur.txt # 2. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 3. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 4. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 5. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 6. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGEFILE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; else # on refait le même traitement que ci-dessous !! en l'adaptant si nécessaire reponse=$(iconv -l | egrep "$ENCODAGEFILE") ; if [[ $reponse != "" ]] # encodage est dans la liste iconv then echo -e "ENCODAGE <$ENCODAGEFILE> OK, connu de iconv : on passe au traitement \n"; curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; # dump de l'URL lynx --assume-charset="$ENCODAGEFILE" --display-charset="$ENCODAGEFILE" -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ; # remplacer iconv -f $ENCODAGEFILE -t utf-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt ; #--------------------------------------------------------------------------- # 1. segmentation bash ./stanford-segmenter-2018-10-16/segment.sh -k ctb ./DUMP-TEXT/$compteurtableau-$compteur.txt "UTF-8" "0"> ./SEGMENTATION/seg_$compteurtableau-$compteur.txt # 2. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 3. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 4. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 5. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 6. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGEFILE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; else echo -e "PB....$compteurtableau::$compteur::$code_sortie::::$ligne\n"; echo -e "l'encodage n'est pas connu d'iconv\n'')'"; fi fi else #ici curl a renvoyé un truc non vide, mais c'est pas UTF8 reponse=$(iconv -l | egrep "$ENCODAGE") ; if [[ $reponse != "" ]] then echo -e "ENCODAGE <$ENCODAGE> OK, connu de iconv : on passe au traitement \n"; curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; # dump de l'URL lynx --assume-charset="$ENCODAGE" --display-charset="$ENCODAGE" -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ; # remplacer iconv -f $ENCODAGE -t utf-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt ; #--------------------------------------------------------------------------- # 1. segmentation bash ./stanford-segmenter-2018-10-16/segment.sh -k ctb ./DUMP-TEXT/$compteurtableau-$compteur.txt "UTF-8" "0"> ./SEGMENTATION/seg_$compteurtableau-$compteur.txt # 2. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 3. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 4. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 5. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 6. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; else echo -e "PB....$compteurtableau::$compteur::$code_sortie::::$ligne\n"; echo -e "l'encodage n'est pas connu d'iconv\n'')'"; fi fi fi else # traitement des autres fichiers urls autre que chinois if [[ $ENCODAGE == "UTF-8" ]] # si la page est en utf-8 then echo -e "ENCODAGE initial <$ENCODAGE> OK : on passe au traitement\n"; # aspiration de l'URL curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; # dump de l'URL lynx -dump -nolist $ligne > ./SEGMENTATION/seg_$compteurtableau-$compteur.txt; #--------------------------------------------------------------------------- # 1. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 2. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 3. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 4. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 5. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../SEGMENTATION/seg_$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; else # si la page n'est pas en utf-8 echo -e "==> il faut traiter les URLs OK qui ne sont pas à priori en UTF8\n" ; echo -e "ENCODAGE initial : <$ENCODAGE>\n"; if [[ $ENCODAGE == "" ]] then curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; ENCODAGEFILE=$(egrep "<meta.+charset *= *[^>]+" ./PAGES-ASPIREES/$compteurtableau-$compteur.html | egrep -o "charset *= *[^>]+" | cut -f2 -d"=" | egrep -o "(\w|-)+" | tr "[a-z]" "[A-Z]" | uniq); echo -e "ENCODAGE initial vide. ENCODAGE extrait via egrep : $ENCODAGEFILE \n"; echo -e "Il faut désormais s'assurer que cet encodage peut être OK ou pas... \n"; if [[ $ENCODAGEFILE == "UTF-8" ]] then echo -e "ENCODAGE <$ENCODAGEFILE> OK : on passe au traitement\n"; # dump de l'URL lynx -dump -nolist $ligne > ./SEGMENTATION/seg_$compteurtableau-$compteur.txt; #--------------------------------------------------------------------------- # 1. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 2. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 3. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 4. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 5. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGEFILE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../SEGMENTATION/seg_$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; else # on refait le même traitement que ci-dessous !! en l'adaptant si nécessaire reponse=$(iconv -l | egrep "$ENCODAGEFILE") ; if [[ $reponse != "" ]] # encodage est dans la liste iconv then echo -e "ENCODAGE <$ENCODAGEFILE> OK, connu de iconv : on passe au traitement \n"; curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; # dump de l'URL lynx --assume-charset="$ENCODAGEFILE" --display-charset="$ENCODAGEFILE" -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ; # remplacer iconv -f $ENCODAGEFILE -t utf-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- # 1. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 2. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 3. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 4. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 5. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGEFILE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../SEGMENTATION/seg_$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; else echo -e "PB....$compteurtableau::$compteur::$code_sortie::::$ligne\n"; echo -e "l'encodage n'est pas connu d'iconv\n'')'"; fi fi else #ici curl a renvoyé un truc non vide, mais c'est pas UTF8 reponse=$(iconv -l | egrep "$ENCODAGE") ; if [[ $reponse != "" ]] then echo -e "ENCODAGE <$ENCODAGE> OK, connu de iconv : on passe au traitement \n"; curl -sL -o ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ; # dump de l'URL lynx --assume-charset="$ENCODAGE" --display-charset="$ENCODAGE" -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ; # remplacer iconv -f $ENCODAGE -t utf-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- # 1. contexte egrep -i "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt; # 2. Fq motif nbmotif=$(egrep -coi "$3" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt); # 3. contexte html perl ./minigrep/minigrepmultilingue.pl "utf-8" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt ./minigrep/parametre-motif.txt ; mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ; # 4. index hierarchique egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./INDEX/index-$compteurtableau-$compteur.txt ; # 5. bigramme egrep -o "\w+" ./SEGMENTATION/seg_$compteurtableau-$compteur.txt > bi1.txt; tail -n +2 bi1.txt > bi2.txt ; paste bi1.txt bi2.txt > bi3.txt ; cat bi3.txt | sort | uniq -c | sort -r > ./BIGRAMMES/bigramme-$compteurtableau-$compteur.txt ; #--------------------------------------------------------------------------- echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\">$code_sortie</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">PA n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$ENCODAGE</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../SEGMENTATION/seg_$compteurtableau-$compteur.txt\">DUMP n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../CONTEXTES/$compteurtableau-$compteur.html\">CTh n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">$nbmotif</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../INDEX/index-$compteurtableau-$compteur.txt\">Ind n° $compteurtableau-$compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"../BIGRAMMES/bigramme-$compteurtableau-$compteur.txt\">Bigr n° $compteurtableau-$compteur</a></td></tr>" >> $2 ; else echo -e "PB....$compteurtableau::$compteur::$code_sortie::::$ligne\n"; echo -e "l'encodage n'est pas connu d'iconv\n'')'"; fi fi fi fi else # URL "pourrie", pb connexion http, on écrit quasiment rien dans la ligne du tableau !!!! echo -e "PB....$compteurtableau::$compteur::$code_sortie::::$ligne\n"; echo "<tr><td style=\"border: 1px solid #ddd;padding: 8px;\">$compteur</td><td style=\"border: 1px solid #ddd;padding: 8px;\"><font color=\"red\"><b>$code_sortie</b></td><td style=\"border: 1px solid #ddd;padding: 8px;\"><a target=\"_blank\" href=\"$ligne\">Lien n° $compteur</a></td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td><td style=\"border: 1px solid #ddd;padding: 8px;\">pb connexion</td></tr>" >> $2 ; fi compteur=$((compteur + 1)); echo -e "_____________________________________________________________________\n"; done; echo "</table>" >> $2 ; echo "<hr color=\"red\" />" >> $2 ; compteurtableau=$((compteurtableau + 1)); done; #------------------------------------------------------------------------------- # Phase 4 : ECRITURE FIN DE FICHIER HTML echo "</body>" >> $2 ; echo "</html>" >> $2 ; #------------------------------------------------------------------------------- exit;