#!/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;