Nos Scripts


Script coréen

#!/usr/bin/bash
#coding=utf-8
# script pour le coréen
# $1 : nom de dossier où ils se trouvent les urls
# $2 : nom de dossier où il se trouve le tableau
# $3 : motif à analyser
# motif : 노조
# utilisation: sur la ligne de commande : bash nom_script_bash dossier_urls fichier_tableaux.html motif
# exemple : $ bash ./PROGRAMMES/scripthayoung.sh ./URLS/ ./TABLEAUX/tableaux.html 노조

#-------------------------------------------------------------------------------
# entete fichier html
echo "<html>" > $2 ;
echo "<head><title>TABLEAUX URL</title>
<meta charset=\"UTF-8\" /></head>" >> $2 ;
echo "<body>" >> $2 ;
#-------------------------------------------------------------------------------
compteurtableau=1;
for fichier in $(ls $1)
    do
        echo "<table align=\"center\" border=\"1\">" >> $2 ;
        echo "<tr bgcolor=\"yellow\"><td>N°</td><td>CodeHttp</td><td>URL</td><td>Page Aspirée</td><td>Encodage</td><td>Dump</td><td>Contexte</td><td>Contexte HTML</td><td>Fq Motif</td><td>Index</td><td>Bigramme</td></tr>" >> $2 ;
        # Phase 3 : traitement de chaque ligne du fichier d'URL en cours
        # ==> ECRITURE d'une ligne dans le tableau HTML
        compteur=1;
        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
		    if [[ $code_sortie == 200 ]]
			  then
				    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> \n -code sortie : $code_sortie \n -encodage : $ENCODAGE \n -url :$ligne";
				        if [[ $ENCODAGE == "UTF-8" ]]
					          then
					              echo -e " -encodage initial validé = <$ENCODAGE> \n -Traitement en cours...";
						            # aspiration de l'URL
						            curl -sL -o  ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ;
						            # dump de l'URL
                        lynx -dump -nolist -assume_charset=$ENCODAGE -display_charset=$ENCODAGE ./PAGES-ASPIREES/$compteurtableau-$compteur.html > ./DUMP-TEXT/$compteurtableau-$compteur.txt;
                        iconv -c -f $ENCODAGE -t UTF-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt
						            #---------------------------------------------------------------------------
						            # contexte
						            egrep -i "$3" ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt > ./CONTEXTES/$compteurtableau-$compteur.txt;
                        # minigrep
                        perl ./minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt ./minigrep/motif-regexp.txt ;
                        mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ;
                        # segmentation coréen
                        mecab -d/usr/local/lib/mecab/dic/mecab-ko-dic/ ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt |tr -d "EOS"|cut -f1|tr "\n" " " > ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt ;
                        echo -e " -segmentation des textes coréens utf-8 ... \n";
						            # fréquence motif
						            nbmotif=$(egrep -coi "$3" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt|wc -l);
						            # index hierarchique
						            egrep -o "(\w|[ㄱ-힣])+" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$compteurtableau-$compteur.txt ;
						            # bigramme
						            egrep -o "(\w|[ㄱ-힣])+" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.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 >  ./DUMP-TEXT/bigramme-$compteurtableau-$compteur-utf8.txt ;
						            #---------------------------------------------------------------------------
						            echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td>$ENCODAGE</td><td><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP  n° $compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.html\">$compteurtableau-$compteur</a></td><td>$nbmotif</td><td><a href=\"../DUMP-TEXT/index-$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td><td><a href=\"../DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td></tr>" >> $2 ;
				        else
						            echo -e " -code sortie = 200 mais encodage ≠ UTF-8 \n" ;
						            echo -e " -ENCODAGE initial : < $ENCODAGE > \n";
						            if [[ $ENCODAGE == "" ]]
							              then
								                # On cherche l'encodage de la page en appliquant la commande file sur la page aspirée (++++++)
								                curl -sL -o  ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ;
								                echo -e " -encodage vide… \n -Extraction de l'encodage via la page aspirée : $ENCODAGEFILE \n";
								                echo -e " -vérification d'encodage extrait via la page aspirée… \n";
                                ENCODAGE2=$(egrep -oi "charset=(\"|\')?[^(\"|\'|&|,)]+(\"|\')?" "./PAGES-ASPIREES/$compteurtableau-$compteur.html" |head -1 | cut -d"=" -f2 | sed 's/"//g' | sed "s/'//g" | tr [[:lower:]] [[:upper:]]);
                                if [[ $ENCODAGE2 == "UTF-8" ]]
                                    then
                                        echo -e " -encodage de la page aspirée <$ENCODAGE2> validé. \n -Traitement en cours…";
          			                        # dump de l'URL
                                        lynx -dump -nolist -assume_charset=$ENCODAGE2 -display_charset=$ENCODAGE2 ./PAGES-ASPIREES/$compteurtableau-$compteur.html > ./DUMP-TEXT/$compteurtableau-$compteur.txt;
                                        iconv -c -f $ENCODAGE2 -t UTF-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt ;

          		                          #---------------------------------------------------------------------------
          			                        # contexte
                                        egrep -i "$3" ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt > ./CONTEXTES/$compteurtableau-$compteur.txt;
                                        # minigrep
                                        perl ./minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt ./minigrep/motif-regexp.txt ;
                                        mv ./minigrep/resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ;
                                        # segmentation coréen
                                        mecab -d/usr/local/lib/mecab/dic/mecab-ko-dic/ ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt |tr -d "EOS"|cut -f1|tr "\n" " " > ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt ;
                                        echo -e " -segmentation des textes coréens utf-8 ... \n";
                						            # fréquence motif
                						            nbmotif=$(egrep -oi "$3" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt|wc -l);
                						            # index hierarchique
                						            egrep -o "(\w|[ㄱ-힣])+" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$compteurtableau-$compteur.txt ;
                						            # bigramme
                						            egrep -o "(\w|[ㄱ-힣])+" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.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 >  ./DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt ;
          			                        echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td>$ENCODAGE2</td><td><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP  n° $compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.html\">$compteurtableau-$compteur</a></td><td>$nbmotif</td><td><a href=\"../DUMP-TEXT/index-$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td><td><a href=\"../DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td></tr>" >> $2 ;
							                  else
								                        #ici curl a renvoyé un truc non vide, mais c'est pas UTF8
							                          reponse=$(iconv -l | egrep -i "$ENCODAGE2") ;
								                        if  [[ $reponse != "" ]]
									                          then
									                              echo -e " -encodage < $ENCODAGE2 > connu par iconv. Traitement en cours…";
										                            curl -sL -o  ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ;
										                            # dump de l'URL
                                                lynx -dump -nolist -assume_charset=$ENCODAGE2 -display_charset=$ENCODAGE2 ./PAGES-ASPIREES/$compteurtableau-$compteur.html > ./DUMP-TEXT/$compteurtableau-$compteur.txt;
                                                iconv -c -f $ENCODAGE2 -t UTF-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt ;
                                                # contexte
                                                egrep -i "$3" ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt > ./CONTEXTES/$compteurtableau-$compteur.txt;
                                                # minigrep
                                                perl ./minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt ./minigrep/motif-regexp.txt ;
                                                mv resultat-extraction.html ./CONTEXTES/$compteurtableau-$compteur.html ;
                                                #segemtation coréen
                                                mecab -d/usr/local/lib/mecab/dic/mecab-ko-dic/ ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt |tr -d "EOS"|cut -f1 |tr "\n" " " > ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt ;
                                                echo -e " -segmentation des textes coréens utf-8 ... \n";
                        						            # fréquence motif
                        						            nbmotif=$(egrep -oi "$3" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt|wc -l);
                        						            # index hiérarchique
                        						            egrep -o "(\w|[ㄱ-힣])+" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$compteurtableau-$compteur.txt ;
                        						            # bigramme
                        						            egrep -o "(\w|[ㄱ-힣])+" ./DUMP-TEXT/$compteurtableau-$compteur-utf8-segment.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 >  ./DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt ;
										                            echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td>$ENCODAGE2</td><td><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP  n° $compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.html\">$compteurtableau-$compteur</a></td><td>$nbmotif</td><td><a href=\"../DUMP-TEXT/index-$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td><td><a href=\"../DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt\">$compteurtableau-$compteur</a></td></tr>" >> $2 ;
									                      else
										                            echo -e " -L'encodage initial n'apparaît pas dans la liste d'iconv. \n";
										                            echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td> - </td><td> - </td><td> - </td><td> - </td><td> - </td><td> - </td><td> - </td><td> - </td></tr>" >> $2 ;
									                      fi
									              fi
									      fi
						    fi
			  else
				    echo -e "problème....$compteurtableau::$compteur::$code_sortie::::$ligne\n";
				    echo "<tr><td>$compteur</td><td><font color=\"red\"><b>$code_sortie</b></td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</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 ;
#-------------------------------------------------------------------------------
# c'est fini
exit;
									

Scripts anglais

Script nettoyage corpus

egrep -o 'http[^\"]+' ../URLS/URLS_pje/URLS_TU/URLS_TU.txt|egrep -v "(microsoft|bing|<|svg|storage|w3|creativecommons|cliquez|schemas|http-equiv|login|pdf)"|sort |uniq |egrep -v "http.?:/{0,2}$" >> ../URLS/URLS_pje/URLS_TU/URLS_TU1; 
									

Script principal

#!/bin/bash
# Au cas-où le fichier existerait déjà, on le supprime, pour pouvoir en refaire un 
rm -f "$2/tableau.html" ;
# on récupère les 3 arguments que l'on a passés au programme
# le premier : chemin vers le dossier contenant les fichiers d'URL
# le deuxième: chemin vers le dossier devant contenir le fichier HTML final
#le troisième : le motif recherché 
echo "Les urls SONT DANS  : $1" ;
echo "On créé le tableau HTML dans : $2" ;
echo "Le motif est : $3" ; 
echo "<html><head><meta charset=\"utf-8\" /><title>TABLEAU D'URLs</title></head><body>" >> $2/tableau.html;
# Création d'une variable pour compter les fichiers traités et donc le nb de tableau généré
# cette variable sera utilisée pour créer les noms de fichiers associés à chaque URL
numerotableau=1;
#----------------------------------------------------------------
# Parcours du dossier contenant les fichiers URLs
for fichier in $(ls $1)
do
compteur=1; # compteur destiné à compter les URLs pour chaque fichier d'URL
echo "$1/$fichier" ;
#-----------------------------------------------------------
# Création du tableau associé au fichier en cours de traitement
#-----------------------------------------------------------
echo "<table border=\"2\" align=\"center\" width=\"80%\">" >> $2/tableau.html ;
echo "<tr bgcolor=\"grey\"><td>N°</td><td>URL</td><td>Code http</td><td>encodage</td><td>Page aspirée</td><td>Dump</td><td>Filtrage Txt</td><td>Filtrage Html</td><td>Index</td><td>Bitexte</td><td>Fq Motif</td></tr>" >> $2/tableau.html ;
	#----------------------------------------------------------------
	# "parcours" d'un fichier d'URL : lecture ligne à ligne des URLs
    for ligne in $(cat "$1/$fichier")
    do
	echo "----------------------------------------------";
	echo "Traitement de l'URL : $ligne";
	echo "----------------------------------------------";
	#-----------------------------------------------------------
	# 1. on teste la connexion vers l'URL : récupération de http_code via curl
	#-----------------------------------------------------------
	coderetourhttp=$(curl -SIL -o tmp.txt  -w %{http_code} $ligne);
	echo "CODE HTTP : $coderetourhttp";
    # si coderetourhttp est egale à 200
    if [[ $coderetourhttp == 200 ]]
        then
		#-----------------------------------------------------------
 		# 2. on essaie de récupérer l'encodage de la page associée à l'URL
		# REMARQUE : la commande suivante est lancée que si http_code=200
		#-----------------------------------------------------------
		encodage=$(curl -sIL -o toto  -w %{content_type} $ligne | cut -f2 -d"=" | tr '[a-z]' '[A-Z]' | tr -d '\r');
		echo "ENCODAGE DETECTE PAR CURL : $encodage";
 		#-----------------------------------------------------------
		# 3. on récupère la page localement et on la range dans le bon dossier 
		#-----------------------------------------------------------
        curl -L -o "./PAGES-ASPIREES/$numerotableau-$compteur.html" "$ligne";
		#-----------------------------------------------------------
        if [[ $encodage == "UTF-8" ]]
            then
 			#-----------------------------------------------------------
			# On remplit le tableau : 1 ligne par URL et autant de colonnes que de traitement réalisés
			# Pour le dump via LYNX on travaille sur la page aspirée
			#-----------------------------------------------------------
			# 1. On lynx la page aspirée
			lynx -dump -nolist -assume_charset=$encodage -display_charset=$encodage "./PAGES-ASPIREES/$numerotableau-$compteur.html" > ./DUMP-TEXT/$numerotableau-$compteur.txt;
			#-----------------------------------------------------------
			# 2. On cree le fichier contexte TXT via egrep
            egrep -i -C2 "$3" ./DUMP-TEXT/$numerotableau-$compteur.txt > ./CONTEXTES/$numerotableau-$compteur.txt;
            #-----------------------------------------------------------
			# 3. Fq motif
			nbmotif=$(egrep -coi "$3" ./DUMP-TEXT/$numerotableau-$compteur.txt;);
			#-----------------------------------------------------------
			# 4. contexte html
			perl ./minigrep/minigrepmultilingue.pl "utf-8" ./DUMP-TEXT/$numerotableau-$compteur.txt ./minigrep/parametre-motif.txt >> resultat-extraction.html;
			mv resultat-extraction.html ./CONTEXTES/$numerotableau-$compteur.html ;
			#-----------------------------------------------------------
			# 5. index hierarchique
			egrep -o "\w+" ./DUMP-TEXT/$numerotableau-$compteur.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$numerotableau-$compteur.txt ;
			#-----------------------------------------------------------
			# 6. bigramme
			egrep -o "\w+" ./DUMP-TEXT/$numerotableau-$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 >  ./DUMP-TEXT/bigramme-$numerotableau-$compteur.txt ;
			#-----------------------------------------------------------
			# 7. on écrit les résultats dans le tableau avec tous les résultats produits
            echo "<tr>
            <td>$compteur</td>
            <td><a href=\"$ligne\" target=\"_blank\">$ligne</a></td>
            <td>Code_http:$coderetourhttp</td>
            <td>Encodage:$encodage</td>
            <td><a href=\"../PAGES-ASPIREES/$numerotableau-$compteur.html\">$numerotableau-$compteur.html</a></td>
            <td><a href=\"../DUMP-TEXT/$numerotableau-$compteur.txt\">$numerotableau-$compteur.txt</a></td>
            <td><a href=\"../CONTEXTES/$numerotableau-$compteur.txt\">$numerotableau-$compteur.txt</a></td>
            <td><a href=\"../CONTEXTES/$numerotableau-$compteur.html\">$numerotableau-$compteur.html</a></td>
            <td><a href=\"../DUMP-TEXT/index-$numerotableau-$compteur.txt\">index-$numerotableau-$compteur</a></td>
            <td><a href=\"../DUMP-TEXT/bigramme-$numerotableau-$compteur.txt\">bigramme-$numerotableau-$compteur</a></td>
            <td>$nbmotif</td>
            </tr>" >> $2/tableau.html;
			#-----------------------------------------------------------
			# Ici on va s'occuper du cas pour lequel l'encodage n'est pas en UTF-8
        else
			encodage=$(iconv -l | egrep -oi $encodage | uniq)
			if [[ $encodage == "" ]]
			#boucle en if, la condition est entre crochet
				then
				encodage=$(egrep "charset" "./PAGES-ASPIREES/$numerotableau-$compteur.html"| sed -r s"s/charset=/%/g" |cut -f2 -d "%"|cut -fl -d ""|tr '[a-z]' '[A-Z]'|tr -d '(\r|\"|/>)');
				encodage=$(iconv -l|egrep -oi $encodage|uniq);
				if [[ $encodage == "" ]]
					then
					echo "<tr><td>$compteur</td><td><a href=\"$ligne\" target=\"_blank\">$ligne</a></td><td>Code_http:$coderetourhttp</td><td>Encodage:$encodage</td>
					<td><a href=\"../PAGES-ASPIREES/$numerotableau-$compteur.html\">$numerotableau-$compteur.html</a></td><td>-</td></tr>" >> $2/tableau.html;
							  
				else
					lynx -dump -nolist -assume-charset=$encodage -display-charset=$encodage "./PAGES-ASPIREES/$numerotableau-$compteur.html" > ./DUMP-TEXT/$numerotableau-$compteur.txt;
					if [[ $encodage == "ISO-8859-1" ]]
					# Dans un premier temps, la condition utilisé était if [[$encodage != "UTF-8"]], mais après quelques soucis, j'ai préféré indiqué le seul encodage différent de l'UTF-8 qui apparaissait dans mon tableau, pour la colonne "encodage"
						then
						iconv -f $encodage -t UTF-8 ./DUMP-TEXT/$numerotableau-$compteur.txt;
						# On utilise la commande iconv pour convertir l'encodage originel de la page en UTF-8, après le -f on entre l'encodage source et après le -t l'encodage dans lequel on souhaite le "convertir"
					fi
					echo "<tr><td>$compteur</td><td><a href=\"$ligne\" target=\"_blank\">$ligne</a></td><td>Code_http:$coderetourhttp</td>
					<td>Encodage:$encodage</td><td><a href=\"../PAGES-ASPIREES/$numerotableau-$compteur.html\">$numerotableau-$compteur.html</a></td>
					<td><a href=\"../DUMP-TEXT/$numerotableau-$compteur.txt\">$numerotableau-$compteur.txt</a></td></tr>" >> $2/tableau.html;
				fi
			else 
			#ici si l'encodage est autre qu'ISO-8859-1, on le convertit aussi en UTF-8
				lynx -dump -nolist -assume-charset=$encodage -display-charset=$encodage "./PAGES-ASPIREES/$numerotableau-$compteur.html" > ./DUMP-TEXT/$numerotableau-$compteur.txt;
				iconv -f $encodage -t UTF-8 ./DUMP-TEXT/$numerotableau-$compteur.txt;
				echo "<tr><td>$compteur</td><td><a href=\"$ligne\" target=\"_blank\">$ligne</a></td><td>Code_http:$coderetourhttp</td>
				<td>Encodage:$encodage</td><td><a href=\"../PAGES-ASPIREES/$numerotableau-$compteur.html\">$numerotableau-$compteur.html</a></td>
				<td><a href=\"../DUMP-TEXT/$numerotableau-$compteur.txt\">$numerotableau-$compteur.txt</a></td></tr>" >> $2/tableau.html;
			fi
		fi
		
	else
        echo "<tr><td>$compteur</td><td><a href=\"$ligne\" target=\"_blank\">$ligne</a></td><td>Code_http:$coderetourhttp</td><td>-</td>
		<td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>" >> $2/tableau.html;
    fi
	# on incrémente le compteur des URLs
    compteur=$((compteur+1)) ; 
    done
	#----------------------------------------------------------------
echo "</table><br />" >> $2/tableau.html ;
# on incrémente le compteur de tableaux
numerotableau=$((numerotableau+1));
done
#----------------------------------------------------------------
echo "</body></html>" >> $2/tableau.html ;
 

Script français

Le script pour le traitement de l'anglais et du français est le même, il faut juste changer le fichier d'URLS utilisé pour créer le corpus ainsi que le motif recherché. ceci est indiqué dans la ligne de commande.

Script grec moderne

#!/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 étudié : $3 par la suite;
# Les 3 sont fournis dans la ligne de commande via un chemin relatif par exemple:
#				bash programme_tableau.sh ./URLS ./TABLEAUX/tableau.html συνδικ
#-------------------------------------------------------------------------------
# Phase 1 : écriture en-tête du fichier HTML
echo "<html>" > $2 ;
echo "<head><title>TABLEAUX URL</title>
<meta charset=\"UTF-8\" /></head>" >> $2 ;
echo "<body>" >> $2 ;
#-------------------------------------------------------------------------------
# Phase 2 : traitement de chaque fichier d'URLs
compteurtableau=1;
for fichier in $(ls $1)
    do
        echo "<table align=\"center\" border=\"1\">" >> $2 ;
        echo "<tr bgcolor=\"yellow\"><td>N°</td><td>CodeHttp</td><td>URL</td><td>Page Aspirée</td><td>Encodage Initial</td><td>Dump</td><td>Contexte</td><td>Fq Motif</td><td>Index</td><td>Bigramme</td></tr>" >> $2 ;
        # Phase 3 : traitement de chaque ligne du fichier d'URL en cours
        # ==> ECRITURE d'une ligne dans le tableau HTML
        compteur=1;
        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
		if [[ $code_sortie == 200 ]]
			then # URL OK
				# recherche de l'encodage du 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 [[ $ENCODAGE == "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 ;
						#---------------------------------------------------------------------------
						# reste à faire : contexte, bigramme, comptage occurrences dans DUMP 
						# ET ajouter les colonnes qui vont avec...
						#---------------------------------------------------------------------------
						# 1. contexte
						egrep -i "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt;
						# 2. Fq motif
						nbmotif=$(egrep -coi "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt);
						# 3. index hierarchique
						egrep -o "\w+" ./DUMP-TEXT/$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$compteurtableau-$compteur.txt ;
						# 4. bigramme
						egrep -o "\w+" ./DUMP-TEXT/$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 >  ./DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt ;
						rm bi1.txt;
						rm bi2.txt;
						rm bi3.txt;
						#---------------------------------------------------------------------------
						echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td>$ENCODAGE</td><td><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP  n° $compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT $compteurtableau-$compteur</a></td><td>$nbmotif</td><td><a href=\"../DUMP-TEXT/index-$compteurtableau-$compteur.txt\">Ind $compteurtableau-$compteur</a></td><td><a href=\"../DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt\">Bigr $compteurtableau-$compteur</a></td></tr>" >> $2 ;
				else
						echo -e "==> il faut traiter les URLs OK qui ne sont pas a priori en UTF8\n" ;
						echo -e "ENCODAGE initial : <$ENCODAGE> \n";
						if [[ $ENCODAGE != "UTF-8" ]] && [[ $ENCODAGE != "ISO-8859-1" ]] && [[ $ENCODAGE != "iso-8859-1" ]] && [[ $ENCODAGE != "WINDOWS-1253" ]]
							then
								# On cherche l'encodage de la page en appliquant la commande file sur la page aspirée (++++++)
								curl -sL -o  ./PAGES-ASPIREES/$compteurtableau-$compteur.html $ligne ;
								ENCODAGEFILE=$(file -i ./PAGES-ASPIREES/$compteurtableau-$compteur.html);
								echo "$ENCODAGEFILE" > encodageTemp.txt;
								echo -e "ENCODAGE initial vide. ENCODAGE extrait via file : $ENCODAGEFILE \n";
								echo -e "Il faut désormais s'assurer que cet encodage peut être OK ou pas... \n";
								# ATTENTION: ne s'applique qu'à la détection des encodages du grec moderne :
								# (US-ASCII et binary sont des proxies pour la détection des pages dynamiques en php et d'autres documents impossibles à traiter)
								# (Certaines opérations d'écriture ont ici servi au "débugging" et sont inutiles au script final)
								TESTENCODAGE0=$(egrep -io "(utf ?-? ?8)|(us ?-? ?ascii)|(binary)|(windows ?-? ?125)|(ISO ?-? ?8859)" encodageTemp.txt | tr "[a-z]" "[A-Z]")
								echo "$TESTENCODAGE0" > encodageTemp.txt;
								TESTENCODAGE=$(sed "s/[- ]//g" encodageTemp.txt);
								echo "$TESTENCODAGE" > encodageTemp.txt;
								echo -e "ENCODAGE = $TESTENCODAGE"
								rm encodageTemp.txt;
								# LA SUITE : est-ce que ENCODAGEFILE vaut UTF8 ou non ??? à vous de jouer...
									if [[ $TESTENCODAGE == "UTF8" ]]
									then
										echo "Working"
										echo -e "ENCODAGE initial <$TESTENCODAGE> OK : on passe au traitement \n";
										# dump de l'URL
										lynx -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ;
										#---------------------------------------------------------------------------
										# reste à faire : contexte, bigramme, comptage occurrences dans DUMP 
										# ET ajouter les colonnes qui vont avec...
										#---------------------------------------------------------------------------
										# 1. contexte
										egrep -i "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt;
										# 2. Fq motif
										nbmotif=$(egrep -coi "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt);
										# 3. index hierarchique
										egrep -o "\w+" ./DUMP-TEXT/$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$compteurtableau-$compteur.txt ;
										# 4. bigramme
										egrep -o "\w+" ./DUMP-TEXT/$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 >  ./DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt ;
										rm bi1.txt;
										rm bi2.txt;
										rm bi3.txt;
										#---------------------------------------------------------------------------
										echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td>$TESTENCODAGE</td><td><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP  n° $compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT $compteurtableau-$compteur</a></td><td>$nbmotif</td><td><a href=\"../DUMP-TEXT/index-$compteurtableau-$compteur.txt\">Ind $compteurtableau-$compteur</a></td><td><a href=\"../DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt\">Bigr $compteurtableau-$compteur</a></td></tr>" >> $2 ;
									else
										if [[ $TESTENCODAGE == "ISO8859" ]] || [[ $ENCODAGE == "ISO-8859-1" ]] || [[ $ENCODAGE == "iso-8859-1" ]]
										then
											echo "Working"
											echo -e "ENCODAGE initial <$ENCODAGEFILE> OK : on passe au traitement \n";
											lynx --assume-charset="ISO-8859-7" --display-charset="ISO-8859-7" -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ;
											iconv -f ISO-8859-7 -t utf-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt  > ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt  ;
											# 1. contexte
											egrep -i "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt;
											# 2. Fq motif
											nbmotif=$(egrep -coi "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt);
											# 3. index hierarchique
											egrep -o "\w+" ./DUMP-TEXT/$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$compteurtableau-$compteur.txt ;
											# 4. bigramme
											egrep -o "\w+" ./DUMP-TEXT/$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 >  ./DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt ;
											rm bi1.txt;
											rm bi2.txt;
											rm bi3.txt;
											echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td>$TESTENCODAGE -- $ENCODAGE</td><td><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP  n° $compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT $compteurtableau-$compteur</a></td><td>$nbmotif</td><td><a href=\"../DUMP-TEXT/index-$compteurtableau-$compteur.txt\">Ind $compteurtableau-$compteur</a></td><td><a href=\"../DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt\">Bigr $compteurtableau-$compteur</a></td></tr>" >> $2 ;
										else
											if [[ $TESTENCODAGE == "WINDOWS125" ]] || [[ $ENCODAGE == "WINDOWS-1253" ]]
											then
												echo "Working"
												echo -e "ENCODAGE initial <$ENCODAGEFILE> OK : on passe au traitement \n";
												lynx --assume-charset="WINDOWS-1253" --display-charset="WINDOWS-1253" -dump -nolist $ligne > ./DUMP-TEXT/$compteurtableau-$compteur.txt ;
												iconv -f WINDOWS-1253 -t utf-8 ./DUMP-TEXT/$compteurtableau-$compteur.txt  > ./DUMP-TEXT/$compteurtableau-$compteur-utf8.txt  ;
												# 1. contexte
												egrep -i "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt > ./CONTEXTES/$compteurtableau-$compteur.txt;
												# 2. Fq motif
												nbmotif=$(egrep -coi "$3" ./DUMP-TEXT/$compteurtableau-$compteur.txt);
												# 3. index hierarchique
												egrep -o "\w+" ./DUMP-TEXT/$compteurtableau-$compteur.txt | sort | uniq -c | sort -r > ./DUMP-TEXT/index-$compteurtableau-$compteur.txt ;
												# 4. bigramme
												egrep -o "\w+" ./DUMP-TEXT/$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 >  ./DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt ;
												rm bi1.txt;
												rm bi2.txt;
												rm bi3.txt;
												echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td>$TESTENCODAGE -- $ENCODAGE</td><td><a target=\"_blank\" href=\"../DUMP-TEXT/$compteurtableau-$compteur.txt\">DUMP  n° $compteur</a></td><td><a href=\"../CONTEXTES/$compteurtableau-$compteur.txt\">CT $compteurtableau-$compteur</a></td><td>$nbmotif</td><td><a href=\"../DUMP-TEXT/index-$compteurtableau-$compteur.txt\">Ind $compteurtableau-$compteur</a></td><td><a href=\"../DUMP-TEXT/bigramme-$compteurtableau-$compteur.txt\">Bigr $compteurtableau-$compteur</a></td></tr>" >> $2 ;
											else
												echo -e "L'encodage initial n'est pas un encodage pertinent.\n";
												echo -e "La page aspirée ne peut être traitée\n";
												echo "<tr><td>$compteur</td><td>$code_sortie</td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td><a target=\"_blank\" href=\"../PAGES-ASPIREES/$compteurtableau-$compteur.html\">page aspirée n° $compteur</a></td><td><font color=\"red\">ENCODAGE NON PERTINENT</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>" >> $2 ;
											fi
										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>$compteur</td><td><font color=\"red\"><b>$code_sortie</b></td><td><a target=\"_blank\" href=\"$ligne\">$ligne</a></td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</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 ;
#-------------------------------------------------------------------------------
# c'est fini
exit;