Utilisateur:Vincent Ramos/Scripts

Un article de Wikipédia, l'encyclopédie libre.

[modifier] Convertisseur de texte utf-8 en latin-1 avec entités html pour les pages de Wikipédia

Ceci étant mon premier script, merci de votre indulgence. Il m'est cependant bien pratique, et pouvant l'être pour d'autres éditeurs, je pense utile de le rendre public.

#!/bin/sh 
# Ce script convertit un fichier texte utf-8 en latin-1. Il conserve les caractères non inclus dans latin-1 en les transformant en
# entités html. Le résultat obtenu peut être directement collé dans une page de Wikipédia dont le jeu de caractères est 
#latin-1. Recode doit être installé pour que le script fonctionne, disponible ici <http://recode.progiciels-bpi.ca/>.
#Auteur de ce modeste script : Vincent Ramos <siva-nataraja(à)alussinan.org>.
#License : GNU.

#Se placer par défaut sur le bureau.
cd ~/Desktop

echo -n "Nom du fichier à convertir : "
read fichier

#Si le nom du fichier à convertir représente un fichier existant et si la chaîne tapée n'est pas vide, le script propose 
#plusieurs possibilités.
if [ -f $fichier ] && [ -n "$fichier" ] ;
        then
                echo -n "Écraser le fichier (oui par défaut) ? "
                read reponse
                        case $reponse in
                                non)
#Si l'on ne désire pas écraser le fichier d'origine, un fichier « sortie_wiki.txt » sera crée.
                                        fichier2=sortie_wiki.txt;;
                                oui)
                                        fichier2=$fichier;;
                                *)
#Toute absence de réponse valide (dont l'absence de réponse pure) est interprétée comme un « oui ». 
                                        fichier2=$fichier;;
                        esac
#D'abord, le fichier est recodé depuis utf-8 vers html, les caractères non ASCII devenant des entités html.
                recode -i ..html < $fichier > temp.txt
#Ensuite, on repasse à utf-8. L'option -d de recode permet de ne convertir que les caractères propres à latin-1. De sorte, le 
#fichier d'arrivé ne contient, comme entités numériques, que celles qui sont exclues de latin-1.
                recode -d -i html..u8 < temp.txt > $fichier2
#Un peu de maintenance : on se débarrasse des fichiers temporaires.
                rm temp.txt
                echo "Opération correctement effectuée."
        else 
        
#Si le nom de fichier indiqué au départ n'est pas valide ou bien est nul, le script recherche un fichier « wiki.txt ». Cela permet 
#d'accélérer les opérations : il suffit d'utiliser par défaut un fichier portant ce nom pour éviter de l'entrer à l'invite.
                echo "Fichier introuvable ! Utilisation de « wiki.txt » avec remplacement par défaut."
                if [ -f "wiki.txt" ] ;
                        then
                                recode -i ..html < wiki.txt > temp.txt
                                recode -d -i html..u8 < temp.txt > wiki.txt
                                rm temp.txt
                                echo "Opération correctement effectuée."
                        else 
#S'il n'existe cependant pas de fichier « wiki.txt », le script l'indique sans n'avoir pu modifier quoi que ce soit.
                                echo "Impossible de parachever l'opération : aucun fichier accessible."
                fi      
fi

[modifier] Correcteur d'espaces insécables

#!/bin/sh
#Ce simple script permet de corriger les documents (dont de nombreuses pages de Wikipédia) 
#dans lesquels les espaces insécables ont été remplacées par des espaces justifiantes 
#simples, pour des raisons diverses. La plupart du temps, il s'agit de documents traités
#par un logiciel bogué (de nombreux navigateurs le sont sur ce point) qui a détruit les
#insécables en question.
#Auteur : Vincent Ramos.
#Licence : GNU

cd ~/Desktop
#On se place par défaut sur le bureau.

echo -n "Nom du fichier à traiter : "
read fichier

#S'il n'existe pas de fichier ou l'utilisateur n'entre rien, le script ne modifie rien. 
#Dans le cas contraire, il écrasera le fichier par la version corrigée.

if [ -f $fichier ] && [ -n "$fichier" ] ; 

        then
                replace " ;" "²;" " :" "²:" " ?" "²?" " !" "²!" "« " "«²" " »" "²»"< $fichier > temp.txt
#Pour des raisons de sécurité, les espaces insécables, qui pourraient être détruites par le navigateur, 
#sont remplacées ici par le caractère <²> qu'il conviendra de corriger avant d'utiliser le script, par 
#un « replace "²" "<insérer une espace insécable>" -- <nom du script> », par exemple.

                mv temp.txt $fichier
                
                echo "Opération correctement effectuée."
        else
                echo "Aucun fichier à traiter."
fi
Wikipedia
Vous êtes ici sur la page personnelle d’un utilisateur de la Wikipédia francophone
Cette page ne fait pas partie de l’espace encyclopédique de Wikipédia.

Si vous avez accédé à cette page sur un autre site que celui de la Wikipédia francophone, c’est que vous êtes sur un site miroir ou un site qui fait de la réutilisation de contenu. Cette page n’est peut-être pas à jour et l’utilisateur identifié n’a probablement aucune affiliation avec le site sur lequel vous vous trouvez. L’original de cette page se trouve à http://fr.wikipedia.org/wiki/Utilisateur:Vincent_Ramos/Scripts .