Comment vérifier l'orthographe à la vieille école Unix Way - CloudSavvy IT
Agence web » Actualités du digital » Comment vérifier l’orthographe à la vieille école Unix Way –

Comment vérifier l’orthographe à la vieille école Unix Way –

Avant que les traitements de texte n’aient une fonction de vérification orthographique, vous deviez exécuter votre propre vérification orthographique sur un document. Et au tout début d’Unix, les systèmes n’avaient pas de programme dédié de « vérification orthographique », mais nécessitaient plutôt un ensemble de commandes pour le faire vous-même. Voyons comment vérifier l’orthographe à la « vieille école Unix ».

Vérification de l’orthographe sur la ligne de commande

De nos jours, nous ne pensons pas au correcteur orthographique de notre traitement de texte. Vous ne pouvez même plus « exécuter » une vérification orthographique. Il est plus facile de surveiller l’apparition de la ligne ondulée rouge sous les mots mal orthographiés ; s’il y a une ligne rouge en dessous, vous corrigez l’orthographe.

Au début d’Unix, le système fournissait un fichier dictionnaire (généralement /usr/share/dict/words sur la plupart des systèmes Linux) qui contenait une liste triée de mots du dictionnaire, avec chaque mot sur une ligne par lui-même. Pour vérifier l’orthographe d’un document, vous devez comparer tous les mots de votre document avec le fichier de dictionnaire. Et pour ce faire, vous devez convertir votre document dans un format qui ressemble au fichier du dictionnaire : une liste triée de mots, avec chaque mot sur sa propre ligne.

Le fichier du dictionnaire est entièrement en minuscules, vous devez donc d’abord convertir votre document pour utiliser des lettres minuscules. Vous faites cela avec le cat pour afficher le fichier, et la tr commande pour traduire des caractères d’un ensemble à un autre. Dans ce cas, vous pouvez demander tr pour convertir toutes les lettres majuscules de A à Z aux lettres minuscules az:

cat document | tr A-Z a-z

Alors que le dictionnaire inclut la ponctuation dans les mots comme les traits d’union et les apostrophes, la liste de mots n’inclut pas la ponctuation des phrases comme les points et les points d’interrogation. La prochaine étape consiste donc à utiliser tr, cette fois pour supprimer (-d) les caractères que nous ne voulons pas :

cat document | tr A-Z a-z | tr -d ',.:;()?!'

Le fichier de dictionnaire contient chaque mot sur une ligne, vous devez donc diviser votre document pour que chaque mot apparaisse sur sa propre ligne. Le tr La commande peut remplacer les espaces par un caractère « nouvelle ligne », pour le faire pour nous :

cat document | tr A-Z a-z | tr -d ',.:;()?!' | tr ' ' 'n'

Le tri de la sortie se fait facilement à l’aide d’Unix sort commander. Ajouter le uniq commande pour nettoyer la sortie, pour supprimer tous les mots en double. Par exemple, vous utilisez probablement le mot « le » plusieurs fois dans n’importe quel document. En utilisant sort ensuite uniq supprimera les instances répétées de « le » afin que vous n’ayez qu’un seul « le » dans votre sortie.

cat document | tr A-Z a-z | tr -d ',.:;()?!' | tr ' ' 'n' | sort | uniq

Vous êtes maintenant prêt à comparer la liste de mots de votre document avec le fichier dictionnaire ! La commande Unix standard comm compare deux fichiers ligne par ligne et identifie les lignes qui sont uniques au premier fichier, uniques au deuxième fichier, ou les lignes qui sont communes aux deux. Pour trouver la liste des mots mal orthographiés de votre document, vous voulez la liste des mots uniques – des mots qui se trouvent dans votre document, mais pas dans le fichier du dictionnaire. Utilisez le -2 possibilité de ne pas imprimer les mots uniques au deuxième fichier, et le -3 possibilité de ne pas afficher les mots communs aux deux fichiers. Il ne reste que les mots propres à votre document qui n’apparaissent pas dans le dictionnaire ; ce sont des mots mal orthographiés.

cat document | tr A-Z a-z | tr -d ',.:;()?!' | tr ' ' 'n' | sort | uniq | comm -2 -3 - /usr/share/dict/words

Le seul trait d’union indique comm à lire à partir de « l’entrée standard », qui est la sortie des commandes précédentes sur la ligne de commande.

Et voilà comment vérifier l’orthographe à la « vieille école Unix » ! Permettez-moi de démontrer avec un exemple de document. J’ai intentionnellement mal orthographié quelques mots ici :

$cat document
Early Unix didn't have word procesors like we thikn of them today. Instead,
you wrote a plain text document that might have embedded special commands to
underline text or create a list of bulet points. But how did you check the
spelling of your document?

En exécutant la liste des commandes, vous trouverez cette liste de mots mal orthographiés :

$cat document | tr A-Z a-z | tr -d ',.:;()?!' | tr ' ' 'n' | sort | uniq | comm -2 -3 - words
bulet
procesors
thikn

La clé pour vérifier l’orthographe de cette façon est l’Unix comm commande pour comparer deux listes triées de mots. Les deux listes doivent être triées de la même manière. Votre système Linux /usr/share/dict/words Le fichier peut inclure des mots en majuscules tels que des noms communs ou des titres ou des emplacements. Par exemple, le fichier de dictionnaire sur mon système Fedora 32 contient à la fois « Minnesota » (majuscule correcte pour le nom de l’État américain) « minnesota » (tout en minuscules) sur les lignes adjacentes. Mais l’Unix sort La commande trie les lettres majuscules séparément des lettres minuscules. Cela confondra le comm commande, qui se plaindra que le fichier d’entrée n’est pas correctement trié. Pour mieux correspondre à la méthode « old school Unix » pour vérifier l’orthographe, vous devrez peut-être d’abord trier le fichier de dictionnaire de votre système et l’enregistrer dans un fichier séparé. Vous pouvez le faire comme ceci :

sort /usr/share/dict/words > words

★★★★★