#!/bin/bash
# Attention aux utilisateurs de ce script !
# Avant de lancer ce script, il faut:
# - Créer un fichier input avec les chemins du dossier urls, le fichier résultat et le motif
# Il sera utilisé de la manière suivante: bash "nomduscript.sh" < nomdufichierinput.txt
# - Lancer ce script avec la commande bash "nomduscript.sh" et non pas sh
# Sinon remplacer toutes les occurences de la commande "let" de la manière suivante:
# let "i+=1" >>>>>>> i=`expr $i +1`
# - Placer le minigrep (contextes html) dans: ./PROGRAMMES/minigrepmultilingue-v2.2-regexp
# - Nommer le fichier motif du minigrep "motif-regexp.txt" et le placer dans le répertoire minigrep
# - Sinon veiller à changer les chemins et noms de fichiers dans le corps du script
# - Se placer dans le répertoire désiré pour le projet: cd Desktop/Projet par exemple
# - Créer 2 sous-répertoires obligatoires: PROGRAMMES (script,minigrep,motif,input(facultatif) et URLS (1 fichier url par langue)
# Conseils:
# - Nommer les fichiers urls par leurs langues: "Anglais.txt" pour que les sous-répertoires aient des noms compréhensibles. Si vous voulez que les dossiers soient nommés "1,2,3..." effacer les lignes 237-239 et remplacer tous les w par j (match case and entire words only)
# - Pour les lettres non-ASCII, utiliser leurs codes html dans les noms de fichiers et script pour obtenir le bon affichage sur votre site: "ç" >>>> "ç"
# Création des répertoires
mkdir ./CONTEXTES;
mkdir ./DUMP-TEXT;
mkdir ./IMAGES;
mkdir ./PAGES-ASPIREES;
mkdir ./TABLEAUX;
# Création d'un répertoire temporaire pour les besoins du trameur (il est effacé à la fin de ce script)
mkdir -p TEMP;
# Input
read dossier_urls;
read fichier_tableau;
read motif;
# Style Page HTML
echo "<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Grèves dans le monde</title>
<style type="text/css">
<!--
body {
font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
background-color: #333333;
margin: 0;
padding: 0;
color: #FFFFFF;
}
ul, ol, dl {
padding: 0;
margin: 0;
}
h1 {
margin-top: 0px;
padding-right: 15px;
padding-left: 15px;
}
h2, h3, h4, h5, h6, p {
margin-top: 15px;
padding-right: 15px;
padding-left: 15px;
}
}
a img {
border: none;
}
a:link {
color: #FFFFFF;
text-decoration: underline;
}
a:visited {
color: #FFFFFF;
text-decoration: underline;
}
a:hover, a:active, a:focus {
text-decoration: none;
}
.container {
width: 960px;
background-color: #333333;
margin: 0 auto;
}
header {
background-color: #000000;
height: 100px;
}
.sidebar1 {
float: left;
width: 180px;
background-color: #333333;
padding-bottom: 10px;
}
.content {
padding: 10px 0;
width: 600px;
float: left;
}
aside {
float: left;
width: 180px;
background-color: #333333;
padding: 10px 0;
}
.content ul, .content ol {
padding: 0 15px 15px 40px;
}
ul.nav {
list-style: none;
border-top: 1px solid #666;
margin-bottom: 15px;
color: #FFF;
}
ul.nav li {
border-bottom: 1px solid #666;
}
ul.nav a, ul.nav a:visited {
padding: 5px 5px 5px 15px;
display: block;
width: 160px;
text-decoration: none;
background-color: #333333;
}
ul.nav a:hover, ul.nav a:active, ul.nav a:focus {
background-color: #333333;
color: #FFF;
}
footer {
background-color: #333333;
position: relative;
bottom: 0px;
clear: both;
}
.fltrt {
float: right;
margin-left: 8px;
}
.fltlft {
float: left;
margin-right: 8px;
}
.clearfloat {
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
header, section, footer, aside, article, figure {
display: block;
}
.container .sidebar1 .nav li a {
color: #FFFFFF;
}
.container header h1 a em {
color: #FFFFFF;
}
div {
float: left;
}
table {
table-layout: fixed;
}
table th, table td {
overflow: hidden;
white-space: nowrap;
text-align:center;
}
</style>
</head>
<body>
<div class="container">
<header>
<h1 align="center"><a href="index.html" style="text-decoration:none">Grèves dans le monde</a> </h1>
<p align="right"><em>La vie multilingue des mots sur le web</em></p>
</header>
<div class="sidebar1">
<ul class="nav">
<li><a href="index.html">Accueil</a></li>
<li><a href="etapes.html">Étapes</a></li>
<li><a href="script.html">Script</a></li>
<li><a href="resultat.html">Résultat</a></li>
<li><a href="nuages.html">Nuages</a></li>
<li><a href="http://greve-projet-plurital.blogspot.com">Blog</a></li>
<li><a href="mailto:iahmedahassan@gmail.com">Contact</a></li>
</ul>
</div>
<article class="content">
<h1>Résultat</h1>
<section>" > $fichier_tableau;
# Compteur fichiers urls
j=1;
for fichier_url in `ls $dossier_urls`
do
# Titre Tableau
echo "<table align=center border="1" width="100%">
<colgroup>
<col width="150px"/>
<col width="400px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
</colgroup>
<tr>
<th bgcolor=\"black\" colspan="10" align="center">Tableau n°$j<br/ align="center"> Fichier: $fichier_url</th>
</tr>" >> $fichier_tableau;
# 1ère ligne du Tableau
echo "<tr><td bgcolor=\"black\" align="center">N°URL</td><td bgcolor=\"black\" align="center">URL</td><td bgcolor=\"black\" align="center">Pages aspirées</td><td bgcolor=\"black\" align="center">Retour WGET</td><td bgcolor=\"black\" align="center">DUMP initial<br/>(non utf-8)</td><td bgcolor=\"black\" align="center">DUMP UTF-8</td><td bgcolor=\"black\" align="center">CONTEXTES</td><td bgcolor=\"black\" align="center">CONTEXTES<br/>HTML</b></td><td bgcolor=\"black\" align="center">Nb Occurences</td><td bgcolor=\"black\" align="center">INDEX<br/>Fq mots</td></tr>" >> $fichier_tableau;
# Compteur urls
i=1;
# Compteur dumps
nbdump=0;
# Noms des sous-dossiers (remplace le compteur avec les noms des langues)
w=$(basename $fichier_url .txt)
# Créer les sous-répertoires
mkdir -p CONTEXTES/$w;
mkdir -p DUMP-TEXT/$w;
mkdir -p PAGES-ASPIREES/$w;
mkdir -p INDEX/$w;
mkdir -p FICHIERS-GLOBAUX/DUMP-GLOBAUX;
mkdir -p FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX;
mkdir -p FICHIERS-GLOBAUX/INDEX-GLOBAUX;
mkdir -p TRAMEUR/CONTEXTES;
mkdir -p TRAMEUR/DUMP;
for ligne in `cat $dossier_urls/$fichier_url`
do
# Aspiration pages
wget -O ./PAGES-ASPIREES/$w/$i.html "$ligne";
# Vérification contenu
retourwget=$?;
contenupageaspiree=$(egrep -i -o "(400 )?Bad request|Moved Permanently|s interdit|Not Acceptable" ./PAGES-ASPIREES/$w/$i.html | sort -u);
# Méthode encodage 1 (file -i)
if test $retourwget == 0;
then
encodage=$(file -i ./PAGES-ASPIREES/$w/$i.html | cut -d= -f2);
# Encodage UTF-8
if test $encodage == "utf-8"
then
# Dump UTF-8
lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i-utf8.txt;
# Contextes UTF-8
egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt;
# Contextes HTML
perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt;
mv resultat-extraction.html ./CONTEXTES/$w/$i.html;
# Occurences
nbOccur=??;
nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt);
# Index
cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt;
# Intégrer au tableau
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td> - </td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau;
# Contextes globaux
cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt;
# Dump globaux
cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt;
# Index Global
cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt;
# Étiquetage Dump globaux pour trameur
# Délimiteur fichiers <Fichier=$i><§>
echo "<Fichier=$i><§>" >> ./TEMP/tempdump_$w.txt && cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./TEMP/tempdump_$w.txt;
# Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
cat ./TEMP/tempdump_$w.txt | tr -c '[a-zA-z0-9] < § > = \n' ' ' | tr -d '_' > ./TEMP/tempdump_$w"2.txt";
# Délimiteur parties <§> au début et à la fin de chaque paragraphe
sed ':a;N;$!ba;s/\n\n/<§>\n\n<§>/g' < ./TEMP/tempdump_$w"2.txt" > ./TEMP/tempdump_$w"3.txt";
# Supprime espaces en trop
sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
# Paragraphes vides
#sed ':a;N;$!ba;s/\n\n/\n/g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
sed '/^$/d'< ./TEMP/tempdump_$w"4.txt" > ./TEMP/tempdump_$w"5.txt";
# Joindre délimiteur fichiers aux parties
sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempdump_$w"5.txt" > ./TEMP/tempdump_$w"6.txt";
# délimiteur partie fin de chaque fichier
sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempdump_$w"6.txt" > ./TEMP/tempdump_$w"7.txt";
# Section pour dernier paragraphe
sed '${s/$/<§>/}' < ./TEMP/tempdump_$w"7.txt" > ./TEMP/tempdump_$w"8.txt";
# Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
cat ./TEMP/tempdump_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/DUMP/DUMP-GLOBAUX_$w.txt;
# Étiquetage Contextes globaux pour trameur
# Délimiteur fichiers <Fichier=$i><§>
echo "<Fichier=$i><§>" >> ./TEMP/tempcontexte_$w.txt && cat ./CONTEXTES/$w/$i-utf8.txt >> ./TEMP/tempcontexte_$w.txt;
# Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
cat ./TEMP/tempcontexte_$w.txt | tr -c '[a-zA-z0-9] < § > = \n -' ' ' | tr -d '_' > ./TEMP/tempcontexte_$w"2.txt";
# Supprimer lignes vides
sed '/^$/d' < ./TEMP/tempcontexte_$w"2.txt" > ./TEMP/tempcontexte_$w"3.txt";
# Joindre délimiteurs aux paragraphes
sed ':a;N;$!ba;s/--\n/--/g' < ./TEMP/tempcontexte_$w"3.txt" > ./TEMP/tempcontexte_$w"4.txt";
# Joindre délimiteurs fichiers aux paragraphes
sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempcontexte_$w"4.txt" > ./TEMP/tempcontexte_$w"5.txt";
# Supprime espaces en trop
sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempcontexte_$w"5.txt" > ./TEMP/tempcontexte_$w"6.txt";
# Délimiteurs début et fin de parties
sed ':a;N;$!ba;s/\n--/<§>\n<§>/g' < ./TEMP/tempcontexte_$w"6.txt" > ./TEMP/tempcontexte_$w"7.txt";
# Délimiteurs partie fin de chaque fichier
sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempcontexte_$w"7.txt" > ./TEMP/tempcontexte_$w"8.txt";
# Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
cat ./TEMP/tempcontexte_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/CONTEXTES/CONTEXTES-GLOBAUX_$w.txt;
# Actualisation compteur dump
let "nbdump+=1";
# Méthode encodage 2 (iconv -l)
else
encodageiconv=$(iconv -l | egrep -io $encodage | sort -u);
if test "$encodageiconv" != "";
then
# Dump initial
lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i.txt;
# Conversion Dump initial en UTF-8
iconv -f $encodage -t utf-8 ./DUMP-TEXT/$w/$i.txt > ./DUMP-TEXT/$w/$i-utf8.txt;
# Contextes UTF-8
egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt;
# Occurences
nbOccur=??;
nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt);
# Index
cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt;
# Contextes HTML
perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt;
mv resultat-extraction.html ./CONTEXTES/$w/$i.html;
# Intégrer au tableau
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td><a href=\"../DUMP-TEXT/$w/$i.txt\">$i.txt</a><br/>($encodage)</small></td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau;
# Contextes globaux
cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt;
# Dump globaux
cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt;
# Index Global
cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt;
# Étiquetage Dump globaux pour trameur
# Délimiteur fichiers <Fichier=$i><§>
echo "<Fichier=$i><§>" >> ./TEMP/tempdump_$w.txt && cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./TEMP/tempdump_$w.txt;
# Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
cat ./TEMP/tempdump_$w.txt | tr -c '[a-zA-z0-9] < § > = \n' ' ' | tr -d '_' > ./TEMP/tempdump_$w"2.txt";
# Délimiteur parties <§> au début et à la fin de chaque paragraphe
sed ':a;N;$!ba;s/\n\n/<§>\n\n<§>/g' < ./TEMP/tempdump_$w"2.txt" > ./TEMP/tempdump_$w"3.txt";
# Supprime espaces en trop
sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
# Paragraphes vides
#sed ':a;N;$!ba;s/\n\n/\n/g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
sed '/^$/d'< ./TEMP/tempdump_$w"4.txt" > ./TEMP/tempdump_$w"5.txt";
# Joindre délimiteur fichiers aux parties
sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempdump_$w"5.txt" > ./TEMP/tempdump_$w"6.txt";
# délimiteur partie fin de chaque fichier
sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempdump_$w"6.txt" > ./TEMP/tempdump_$w"7.txt";
# Section pour dernier paragraphe
sed '${s/$/<§>/}' < ./TEMP/tempdump_$w"7.txt" > ./TEMP/tempdump_$w"8.txt";
# Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
cat ./TEMP/tempdump_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/DUMP/DUMP-GLOBAUX_$w.txt;
# Étiquetage Contextes globaux pour trameur
# Délimiteur fichiers <Fichier=$i><§>
echo "<Fichier=$i><§>" >> ./TEMP/tempcontexte_$w.txt && cat ./CONTEXTES/$w/$i-utf8.txt >> ./TEMP/tempcontexte_$w.txt;
# Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
cat ./TEMP/tempcontexte_$w.txt | tr -c '[a-zA-z0-9] < § > = \n -' ' ' | tr -d '_' > ./TEMP/tempcontexte_$w"2.txt";
# Supprimer lignes vides
sed '/^$/d' < ./TEMP/tempcontexte_$w"2.txt" > ./TEMP/tempcontexte_$w"3.txt";
# Joindre délimiteurs aux paragraphes
sed ':a;N;$!ba;s/--\n/--/g' < ./TEMP/tempcontexte_$w"3.txt" > ./TEMP/tempcontexte_$w"4.txt";
# Joindre délimiteurs fichiers aux paragraphes
sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempcontexte_$w"4.txt" > ./TEMP/tempcontexte_$w"5.txt";
# Supprime espaces en trop
sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempcontexte_$w"5.txt" > ./TEMP/tempcontexte_$w"6.txt";
# Délimiteurs début et fin de parties
sed ':a;N;$!ba;s/\n--/<§>\n<§>/g' < ./TEMP/tempcontexte_$w"6.txt" > ./TEMP/tempcontexte_$w"7.txt";
# Délimiteurs partie fin de chaque fichier
sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempcontexte_$w"7.txt" > ./TEMP/tempcontexte_$w"8.txt";
# Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
cat ./TEMP/tempcontexte_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/CONTEXTES/CONTEXTES-GLOBAUX_$w.txt;
# Actualisation compteur dump
let "nbdump+=1";
# Méthode encodage 3 (egrep -i "<meta.*charset")
else
if egrep -i "<meta.*charset" ./PAGES-ASPIREES/$w/$i.html;
then
encodage=$(egrep -i "<meta.*charset" ./PAGES-ASPIREES/$w/$i.html | egrep -i -o 'charset *=[^\"]+' | tr [A-Z] [a-z] | sort -u | cut -f2 -d=);
encodageiconv=$(iconv -l | egrep -io $encodage | sort -u);
if test $encodageiconv == ""
then
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td></tr>" >> $fichier_tableau;
echo "Erreur Tableau $w ligne $i" >> ./Erreurs.txt;
else
# Dump initial
lynx -dump -nolist -display_charset=$encodage ./PAGES-ASPIREES/$w/$i.html > ./DUMP-TEXT/$w/$i.txt;
# Conversion Dump initial en UTF-8
iconv -f $encodage -t utf-8 ./DUMP-TEXT/$w/$i.txt > ./DUMP-TEXT/$w/$i-utf8.txt;
# Contextes UTF-8
egrep -i -A 1 -B 1 `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt > ./CONTEXTES/$w/$i-utf8.txt;
# Occurences
nbOccur=??;
nbOccur=$(egrep -c `cat $motif` ./DUMP-TEXT/$w/$i-utf8.txt);
# Index
cat ./DUMP-TEXT/$w/$i-utf8.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./INDEX/$w/$i.txt;
# Contextes HTML
perl ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$w/$i-utf8.txt ./PROGRAMMES/minigrepmultilingue-v2.2-regexp/motif-regexp.txt;
mv resultat-extraction.html ./CONTEXTES/$w/$i.html;
# Intégrer au tableau
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td><a href=\"../DUMP-TEXT/$w/$i.txt\">$i.txt</a><br/>($encodage)</td><td><a href=\"../DUMP-TEXT/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i-utf8.txt\">$i-utf8.txt</a></td><td><a href=\"../CONTEXTES/$w/$i.html\">$i.html</a></td><td>$nbOccur</td><td><a href=\"../INDEX/$w/$i.txt\">$i.txt</a></td></tr>" >> $fichier_tableau;
# Contextes globaux
cat ./CONTEXTES/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/CONTEXTES-GLOBAUX/CONTEXTES-GLOBAUX_$w.txt;
# Dump globaux
cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt;
# Index Global
cat ./FICHIERS-GLOBAUX/DUMP-GLOBAUX/DUMP-GLOBAUX_$w.txt | tr [:space:] '\n' | grep -v -e "\W" -e [0-9] -e "_" | sort | tr [:upper:] [:lower:] | uniq -c | sort -bnr > ./FICHIERS-GLOBAUX/INDEX-GLOBAUX/INDEX-GLOBAUX_$w.txt;
# Étiquetage Dump globaux pour trameur
# Délimiteur fichiers <Fichier=$i><§>
echo "<Fichier=$i><§>" >> ./TEMP/tempdump_$w.txt && cat ./DUMP-TEXT/$w/$i-utf8.txt >> ./TEMP/tempdump_$w.txt;
# Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
cat ./TEMP/tempdump_$w.txt | tr -c '[a-zA-z0-9] < § > = \n' ' ' | tr -d '_' > ./TEMP/tempdump_$w"2.txt";
# Délimiteur parties <§> au début et à la fin de chaque paragraphe
sed ':a;N;$!ba;s/\n\n/<§>\n\n<§>/g' < ./TEMP/tempdump_$w"2.txt" > ./TEMP/tempdump_$w"3.txt";
# Supprime espaces en trop
sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
# Paragraphes vides
#sed ':a;N;$!ba;s/\n\n/\n/g' < ./TEMP/tempdump_$w"3.txt" > ./TEMP/tempdump_$w"4.txt";
sed '/^$/d'< ./TEMP/tempdump_$w"4.txt" > ./TEMP/tempdump_$w"5.txt";
# Joindre délimiteur fichiers aux parties
sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempdump_$w"5.txt" > ./TEMP/tempdump_$w"6.txt";
# délimiteur partie fin de chaque fichier
sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempdump_$w"6.txt" > ./TEMP/tempdump_$w"7.txt";
# Section pour dernier paragraphe
sed '${s/$/<§>/}' < ./TEMP/tempdump_$w"7.txt" > ./TEMP/tempdump_$w"8.txt";
# Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
cat ./TEMP/tempdump_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/DUMP/DUMP-GLOBAUX_$w.txt;
# Étiquetage Contextes globaux pour trameur
# Délimiteur fichiers <Fichier=$i><§>
echo "<Fichier=$i><§>" >> ./TEMP/tempcontexte_$w.txt && cat ./CONTEXTES/$w/$i-utf8.txt >> ./TEMP/tempcontexte_$w.txt;
# Supprimer tous les caractères sauf les chiffres, lettres et délimiteurs
cat ./TEMP/tempcontexte_$w.txt | tr -c '[a-zA-z0-9] < § > = \n -' ' ' | tr -d '_' > ./TEMP/tempcontexte_$w"2.txt";
# Supprimer lignes vides
sed '/^$/d' < ./TEMP/tempcontexte_$w"2.txt" > ./TEMP/tempcontexte_$w"3.txt";
# Joindre délimiteurs aux paragraphes
sed ':a;N;$!ba;s/--\n/--/g' < ./TEMP/tempcontexte_$w"3.txt" > ./TEMP/tempcontexte_$w"4.txt";
# Joindre délimiteurs fichiers aux paragraphes
sed ':a;N;$!ba;s/><§>\n/><§>/g' < ./TEMP/tempcontexte_$w"4.txt" > ./TEMP/tempcontexte_$w"5.txt";
# Supprime espaces en trop
sed 's/^ *//;s/ *$//;s/ \{1,\}/ /g' < ./TEMP/tempcontexte_$w"5.txt" > ./TEMP/tempcontexte_$w"6.txt";
# Délimiteurs début et fin de parties
sed ':a;N;$!ba;s/\n--/<§>\n<§>/g' < ./TEMP/tempcontexte_$w"6.txt" > ./TEMP/tempcontexte_$w"7.txt";
# Délimiteurs partie fin de chaque fichier
sed ':a;N;$!ba;s/\n<Fichier=/<§>\n\n<Fichier=/g' < ./TEMP/tempcontexte_$w"7.txt" > ./TEMP/tempcontexte_$w"8.txt";
# Supprimer caractère BOM Â qui apparait après le passage d'utf-8 à iso8859-1
cat ./TEMP/tempcontexte_$w"8.txt" | sed 's/\xc2//g' > ./TRAMEUR/CONTEXTES/CONTEXTES-GLOBAUX_$w.txt;
# Actualisation compteur dump
let "nbdump+=1";
fi
# Méthode 3 ne fonctionne pas
else
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td><a href=\"../PAGES-ASPIREES/$w/$i.html\">$i.html</a></td><td>$retourwget</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td><td bgcolor=\"blue\">Encodage<br/>non détecté</td></tr>" >> $fichier_tableau;
echo "Erreur Tableau $w ligne $i" > ./Erreurs.txt;
fi
fi
fi
# Si le WGET échoue
else
retourwget="Erreur";
echo "<tr><td>$i</td><td><a href=\"$ligne\">$ligne</a></td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">$retourwget</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td><td bgcolor=\"red\">Page non aspirée</td></tr>" >> $fichier_tableau;
echo "Erreur Tableau $w ligne $i" >> ./Erreurs.txt;
fi
# Actualisation compteur urls
let "i+=1";
done
# Intégrer Fichiers globaux au tableau
echo "<tr><td colspan=\"5\"> </td><td><a href="../FICHIERS-GLOBAUX/DUMP/DUMP-GLOBAUX_$w.txt">Fichier DUMP<br/>global</a><br/>$nbdump fichier(s)</td><td><a href="../FICHIERS-GLOBAUX/CONTEXTES/CONTEXTES-GLOBAUX_$w.txt">Fichier CONTEXTES<br/>global</a><br/>$nbdump fichier(s)</td><td> </td><td colspan="1"></td><td><a href="../FICHIER-GLOBAUX/INDEX-GLOBAUX.txt">Fichier Index<br/>global</a><br/>$nbdump fichier(s)</td></tr>" >> $fichier_tableau;
# Fin du tableau
echo "</table>" >> $fichier_tableau;
# Actualisation compteur fichiers urls
let "j+=1";
done
# Fin page HTML
echo "</section>
<!-- end .content --></article>
<div id="footer">
<footer>Designed by Ahmed Hassan</footer>
</div>
<!-- end .container --></div>
</body>
</html>" >> $fichier_tableau;
# Supprimer le répertoire TEMP
rm -r ./TEMP