Ceci n’est pas un article proprement dit, il est question d’une astuce afin de découper les lignes d’un fichier à un nombre de caractères définis avec une commande Perl et d’une simple expression régulière.

On considère un fichier en entrée dont le marqueur de fin de ligne (LF) n’est pas présent et nous souhaitons le mettre en place chaque 20 caractères par exemple.

Le fichier en entrée se nommant input:

Ceci est un fichier de tests dont le caractère de fin de ligne est manquant et nous souhaitons decouper le fichier chaque 20 caractères. Pour cela nous allons utiliser Perl.

La commande Perl:
$ perl -0777 -pe 's/(.{20})/\1\n/sg' input

Le résultat:

Ceci est un fichier
de tests dont le car
actère de fin de lig
ne est manquant et n
ous souhaitons decou
per le fichier chaqu
e 20 caractères. Pou
r cela nous allons u
tiliser Perl.

Si l’on souhaite mettre en place les marqueurs CR et LF la commande devient:

$ perl -0777 -pe 's/(.{20})/\1\r\n/sg' input