Script en détail
01.01.2018
#!/bin/bash motifchoix(){ # attention mon fichier minigrep est au repertoire supérieur de projetencadre perl ../minigrep/minigrepmultilingue.pl "UTF-8" ./DUMP-TEXT/$compteurtable-$compteur-utf8.txt $chemin mv ./resultat-extraction.html ./CONTEXTES/$compteurtable-$compteur-utf8.html; fq=$(egrep -o "$short_motif" ./DUMP-TEXT/$compteurtable-$compteur-utf8.txt|wc -l); egrep "$short_motif" ./DUMP-TEXT/$compteurtable-$compteur-utf8.txt > ./CONTEXTES/$compteurtable-$compteur-utf8.txt; } iconvtesting(){ ml=""; inlisticonv=""; inlisticonv=$(iconv -l | egrep -io "$isthereacharset"); echo $isthereacharset; if [[ "$inlisticonv" == "" ]]; then #do nothing echo "sorry can't help"; echo -e "<tr><td>$compteur</td><td>$isthereacharset</td><td>$status1</td><td><a href=\"$ligne\">$ligne</a></td><td><td>$status2</td><a href=\"../PAGES-ASPIREES/$compteurtable-$compteur.html\">Page aspiree</a></td><td>-</td><td align=\"center\"><a href="">---</a></td><td align=\"center\"><a href="">---</a>-</td><td>-</td></tr>\n" >>$tablo; else for i in $inlisticonv; do ml=$i break echo $ml; done lynx -dump -nolist -assume_charset=$ml -display_charset=$ml $ligne > ./DUMP-TEXT/$compteurtable-$compteur.txt; iconv -f $ml -t UTF-8//TRANSLIT < ./DUMP-TEXT/$compteurtable-$compteur.txt >./DUMP-TEXT/$compteurtable-$compteur-utf8.txt; if [[ "$fichier" == "urlsfile" ]]; then chemin="./PROGRAMMES/motif.txt"; short_motif="\b绿色能源|水能|生物能|太阳能|风能|地热能|海洋能|可再生能源\b"; motifchoix; fi if [[ "$fichier" == "url_fr" ]]; then chemin="./PROGRAMMES/motif_fr.txt"; short_motif="\b(énergies vertes)|(\w+ vert(s)?)|(\w+ verte(s)?)|hydroélectricité|renouvelable(s)|solaire|éolienne|hydraulique|Biomasse|géothermique\b"; motifchoix; fi if [[ "$fichier" == "url_es" ]]; then chemin="./PROGRAMMES/motif_es.txt"; short_motif="\b(energía(s)? verde(s)?)|(\w+ verde(s)?)|energía|renovable(s)?|hidráulica|(solar térmica)|Biomasa|solar|eólica|geotérmica|mareomotriz\b"; motifchoix; fi echo -e "<tr><td>$compteur</td><td>$isthereacharset</td><td>$status1</td><a href=\"$ligne\">$ligne</a></td><td><td>$status2</td><a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">Page aspiree $compteurtable-$compteur</a></td><td><a href="../DUMP-TEXT/$compteurtable-$compteur-utf8.txt" >Dumped-txt $compteurtable-$compteur-utf8</a></td><td align=\"center\"><a href="../CONTEXTES/$compteurtable-$compteur-utf8.txt">CONTEXTE n°$compteurtable-$compteur-utf8</a></td><td align=\"center\"><a href="../CONTEXTES/$compteurtable-$compteur-utf8.html">CONTEXTE n° $compteurtable-$compteur-utf8</a></td><td>$fq</td></tr>\n" >>$tablo; fi } #Lecture des paramètres dans le fichier parametres read rep ; read tablo ; echo -e "<html>\n<head>\n<meta charset=\"utf-8\">\n<title>Mes liens</title>\n</head>\n<body>\n<table border=\"1\">" > $tablo; compteurtable=0; for fichier in $(ls $rep) { let "compteurtable=compteurtable+1"; echo "<p align=\"center\"><hr color=\"blue\" width=\"80%\"/> </p>" >> $tablo ; echo "<table border = \"1\" align= \"center\">" >>$tablo; echo "<tr><td colspan=\"11\" align=\"center\">tableau n° $compteurtable</td></tr>" >> $tablo ; echo "<tr><td align=\"center\"><b>N°</b></td><td align=\"center\"><b>original-encoding</b></td><td align=\"center\"><b>CODE CURL</b></td><td align=\"center\"><b>lien</b></td><b>STATUT CURL</b></td><td align=\"center\"><b>Page Aspirée</b></td><td align=\"center\"><b>DUMP UTF-8</b></td><td align=\"center\"><b>CONTEXTE UTF-8</b></td><td align=\"center\"><b>CONTEXTE HTML UTF-8</b></td><td align=\"center\"><b>Fq MOTIF</b></td></tr>" >> $tablo; compteur=0; for ligne in $(cat $rep/$fichier) { let "compteur=compteur+1"; status1=$(curl -sI $ligne | head -n 1); status2=$(curl -L --silent --output ./PAGES-ASPIREES/$compteurtable-$compteur.html --write-out "%{http_code}" $ligne); encodage1=$(curl -sIL $ligne | egrep -i "charset=" | cut -d"=" -f2| tr 'a-z' 'A-Z'|sed -r s'/[ \n\r]//g'); encodage=""; isthereacharset=""; for el in $encodage1; do encodage=$el done echo $encodage; if [[ "$encodage" == "UTF-8" ]]; then echo "---------------------------------"; lynx -dump -nolist -assume_charset=$encodage -display_charset=$encodage $ligne > ./DUMP-TEXT/$compteurtable-$compteur-utf8.txt; if [[ "$fichier" == "urlsfile" ]]; then chemin="./PROGRAMMES/motif.txt"; short_motif="\b绿色能源|水能|生物能|太阳能|风能|地热能|海洋能|可再生能源\b"; motifchoix; fi if [[ "$fichier" == "url_fr" ]]; then chemin="./PROGRAMMES/motif_fr.txt"; short_motif="\b(énergies vertes)|(\w+ vert(s)?)|(\w+ verte(s)?)|hydroélectricité|renouvelable(s)|solaire|éolienne|hydraulique|Biomasse|géothermique\b"; motifchoix; fi if [[ "$fichier" == "url_es" ]]; then chemin="./PROGRAMMES/motif_es.txt"; short_motif="\b(energía(s)? verde(s)?)|(\w+ verde(s)?)|energía|renovable(s)?|hidráulica|(solar térmica)|Biomasa|solar|eólica|geotérmica|mareomotriz\b"; motifchoix; fi echo -e "<tr><td>$compteur</td><td>$encodage</td><td>$status1</td><a href=\"$ligne\">$ligne</a></td><td><td>$status2</td><a href="../PAGES-ASPIREES/$compteurtable-$compteur.html">Page aspiree $compteurtable-$compteur</a></td><td><a href="../DUMP-TEXT/$compteurtable-$compteur-utf8.txt" >Dumped-txt $compteurtable-$compteur-utf8</a></td><td align=\"center\"><a href="../CONTEXTES/$compteurtable-$compteur-utf8.txt">CONTEXTE n°$compteurtable-$compteur-utf8</a></td><td align=\"center\"><a href="../CONTEXTES/$compteurtable-$compteur-utf8.html">CONTEXTE n° $compteurtable-$compteur-utf8</a></td><td>$fq</td></tr>\n" >>$tablo; else if [[ "$encodage" == "" ]]; then if [[ -e ./PAGES-ASPIREES/$compteurtable-$compteur.html ]];then isthereacharset=$(egrep -i -o "[^><]*meta[^><]*charset[^><]*" ./PAGES-ASPIREES/$compteurtable-$compteur.html|sed -r s'/.*(charset=.*)/\1/g'|cut -d"=" -f2 |sed -r "s/\"//g"|sed -r "s/\///g"| tr 'a-z' 'A-Z'|sed -r "s/\r//g"|sed -r "s/\n//g"|sed -r "s/ //g"); if [[ "$isthereacharset" == "" ]]; then echo "sorry can't help---------"; echo -e "<tr><td>$compteur</td><td>-</td><td>$status1</td><td><a href=\"$ligne\">$ligne</a></td><td><td>$status2</td><a href=\"../PAGES-ASPIREES/$compteurtable-$compteur.html\">Page aspiree</a></td><td><a href="">---</a></td><td align=\"center\"><a href="">---</a></td><td align=\"center\"><a href="">---</a></td><td>---</td></tr>\n" >>$tablo; else iconvtesting; fi else echo "sorry, no page_aspirée"; echo -e "<tr><td>$compteur</td><td>-</td><td>$status1</td><td><a href=\"$ligne\">$ligne</a></td><td><td>$status2</td><a href="">---</a></td><td><a href="">---</a></td><td align=\"center\"><a href="">---</a></td><td align=\"center\"><a href="">---</a></td><td>---</td></tr>\n" >>$tablo; fi else iconvtesting; fi fi } echo -e "</table>\n">>$tablo; } echo -e "</body>\n</html>">>$tablo; for fichier in $(ls ./DUMP-TEXT/) { if [[ $fichier =~ ^1- ]]; then comp1=$(echo $fichier); comp2=$(cat ./DUMP-TEXT/$fichier); if [[ $comp1 == *"utf8"* ]]; then if [[ "$comp2" != "" ]]; then echo "<file=\"$fichier\">" >> ./TOUS_LES_DUMP_1.txt; cat ./DUMP-TEXT/$fichier|sed -r 's/<[^>]*>//g' | tr -d '<'| tr -d '>' >> ./TOUS_LES_DUMP_1.txt; echo "</file>" >> ./TOUS_LES_DUMP_1.txt; fi fi fi if [[ $fichier =~ ^2- ]]; then comp1=$(echo $fichier); comp2=$(cat ./DUMP-TEXT/$fichier); if [[ $comp1 == *"utf8"* ]]; then if [[ "$comp2" != "" ]]; then echo "<file=\"$fichier\">" >> ./TOUS_LES_DUMP_2.txt; cat ./DUMP-TEXT/$fichier|sed -r 's/<[^>]*>//g' | tr -d '<'| tr -d '>' >> ./TOUS_LES_DUMP_2.txt; echo "</file>" >> ./TOUS_LES_DUMP_2.txt; fi fi fi if [[ $fichier =~ ^3- ]]; then comp1=$(echo $fichier); comp2=$(cat ./DUMP-TEXT/$fichier); if [[ $comp1 == *"utf8"* ]]; then if [[ "$comp2" != "" ]]; then echo "<file=\"$fichier\">" >> ./TOUS_LES_DUMP_3.txt; cat ./DUMP-TEXT/$fichier|sed -r 's/<[^>]*>//g' | tr -d '<'| tr -d '>' >> ./TOUS_LES_DUMP_3.txt; echo "</file>" >> ./TOUS_LES_DUMP_3.txt; fi fi fi } for fichier in $(ls ./CONTEXTES/) { if [[ $fichier =~ ^1- ]]; then comp1=$(echo $fichier); comp2=$(cat ./CONTEXTES/$fichier); if [[ $comp1 == *"txt"* ]]; then if [[ "$comp2" != "" ]]; then echo "<file=\"$fichier\">" >> ./TOUS_LES_CONTEXTES_1.txt; cat ./CONTEXTES/$fichier|sed -r 's/<[^>]*>//g' | tr -d '<'| tr -d '>' >> ./TOUS_LES_CONTEXTES_1.txt; echo "</file>" >> ./TOUS_LES_CONTEXTES_1.txt; fi fi fi if [[ $fichier =~ ^2- ]]; then comp1=$(echo $fichier); comp2=$(cat ./CONTEXTES/$fichier); if [[ $comp1 == *"txt"* ]]; then if [[ "$comp2" != "" ]]; then echo "<file=\"$fichier\">" >> ./TOUS_LES_CONTEXTES_2.txt; cat ./CONTEXTES/$fichier|sed -r 's/<[^>]*>//g' | tr -d '<'| tr -d '>' >> ./TOUS_LES_CONTEXTES_2.txt; echo "</file>" >> ./TOUS_LES_CONTEXTES_2.txt; fi fi fi if [[ $fichier =~ ^3- ]]; then comp1=$(echo $fichier); comp2=$(cat ./CONTEXTES/$fichier); if [[ $comp1 == *"txt"* ]]; then if [[ "$comp2" != "" ]]; then echo "<file=\"$fichier\">" >> ./TOUS_LES_CONTEXTES_3.txt; cat ./CONTEXTES/$fichier|sed -r 's/<[^>]*>//g' | tr -d '<'| tr -d '>' >> ./TOUS_LES_CONTEXTES_3.txt; echo "</file>" >> ./TOUS_LES_CONTEXTES_3.txt; fi fi fi }