Il est parfois nécessaire de générer un faux texte pour faire des tests, on utilise alors ce qui s’apelle un Lorem Ipsum.
C’est un texte aléatoire généré à partir d’un texte Latin.

Il est possible d’obtenir de faux textes sur des sites web dédiés ou en utilisant des scripts adaptés.
Dans cet article, 2 scripts pour générer un faux texte.

Avec un script Perl

Le langage Perl propose le module libtext-lorem-perl qui permet de générer un faux texte.
Sur un PC utilisant Debian il faut l’installer avec la commande :

apt-get install libtext-lorem-perl

On peut ensuite utiliser le script suivant pour générer le faux texte :

#!/usr/bin/env perl

# prerequis : apt-get install libtext-lorem-perl

use Text::Lorem;

my($nbpara)=$ARGV[0];
my $text = Text::Lorem->new();

unless (defined $nbpara and $nbpara > 0)
{
	print "\nGénérateur de de texte Lorem";
  die "Usage: $0 <Nb paragraphe>\n";
}

print "\nNombre de paragraphe à générer : $nbpara\n";

$paragraphs = $text->paragraphs($nbpara);

print $paragraphs;

Ce qui donne comme résultat :

./Lorem-Ipsum.pl 2

Nombre de paragraphe à générer : 2
Aut dolor beatae rerum. Iure quo rerum non excepturi ratione. Nihil in alias quibusdam qui itaque qui a id. Et maxime quis dolores. Nihil sed sed consequatur laudantium. Repellat consequuntur et omnis sunt.

Nesciunt in qui occaecati dolores. Ad adipisci sed aut quia cupiditate. Harum est reprehenderit rem numquam. Quod id asperiores numquam doloribus qui. Fugiat nisi dolor possimus dolor eligendi consectetur reiciendis est.

En bash, depuis un fichier texte

Il est également possible de générer un faux texte à partir d’un fichier de référence. Il faut extraire de manière aléatoire des mots depuis ce fichier de référence et générer des paragraphes à partir de cette extraction.

La commande à utiliser :

cat fichier.txt | shuf -n50|sed 's/  */ /g;s/^ //'|fmt -w 90

Avec :

  • cat : liste le contenu du fichier texte
  • shuf : sélectionne des lignes aléatoires, ici on en prend 50 (-n50)
  • sed : remplace les espaces multiples par un seul
  • fmt : formatte le texte

Pour le contenu du fichier texte, on peut prendre ce que l’on veut, un texte Latin afin de ressembler au Lorem habituel, un texte en Français, les paroles d’une chanson, etc ….

Personnellement j’ai choisit l’hymme nationnal Breton, le Bro gozh ma zadoù (le vieux pays de mes ancêtres).
Les paroles sont disponibles sur le site de Wikipédia ou sur le blog du Comité Bro Gozh ma Zadoù.

J’ai créé le script bzh-lorem.bash contenant :

#!/bin/bash
# -*- coding: UTF8 -*-

cat $HOME/bin/Lorem-Bzh/bro-goz.txt | shuf -n50|sed 's/  */ /g;s/^ //'|fmt -w 90

J’ai également créé un alias :

alias bzh-lorem='$HOME/bin/Lorem-Bzh/bzh-lorem.bash'

Si j’ai besoin d’un texte Lorem :

[yvon@nanda3] $ bzh-lorem 
Ni, Breizhiz a galon, karomp hor gwir vro!  He c'halon virvidik a lamm c'hoazh 'n
he c'hreiz.  Dihunet out bremañ, ma Breizh!

Tra ma vo mor 'vel mur 'n he zro,

Pep menez, pep traoñienn d'am c'halon zo ker, Ra vezo digabestr ma bro!  Eno 'kousk
meur a Vreizhad taer!  N'eus pobl ken kalonek a-zindan an neñv.  Ar Vretoned 'zo
tud kalet ha kreñv.  O! pegen kaer ez out, ma bro!  Breizh, douar ar sent kozh,
douar ar varzhed, O Breizh, ma bro, me 'gar ma bro.  N'eus bro all a garan kement
'barzh ar bed.  A skuilhas eviti o gwad.  He yezh a zo bepred ken bev ha biskoazh,
Brudet eo an Arvor dre ar bed tro-dro.  Dispont 'kreiz ar brezel, hon tadoù ken mat,
Gwerz trist, son dudius a ziwan enno.


Mard eo bet trec'het Breizh er brezelioù bras,

[yvon@nanda3] $

Pour le plaisir, le Bro Gozh ma Zadoù interprèté par plusieurs chanteuses et chanteurs :