Comment utiliser la commande fold sous Linux

La commande Linux fold apporte une sortie indisciplinée au talon. Lisez de larges morceaux de texte, des chaînes sans fin et des flux non formatés en contrôlant la largeur de la sortie. Apprendre.

Fonctionnement des lignes de texte dans le terminal Linux

Première règle du combat Linux: connaissez votre ennemi. Alors définissons-le. Qu’est-ce qu’une ligne de texte exactement? C’est une séquence de caractères (lettres, chiffres, symboles et espaces) qui se termine par un octet spécial qui signifie «commencer une nouvelle ligne». Sous Linux et Unix, le caractère de nouvelle ligne, également appelé saut de ligne, est utilisé comme indicateur de fin de ligne. Il s’agit d’un octet avec une valeur de 0x0a dans hexadécimal et dix en décimal.

Différents systèmes d’exploitation utilisent des valeurs d’octet différentes pour indiquer la fin d’une ligne. Windows utilise une séquence de deux octets. Dans les fichiers texte Windows, le caractère de nouvelle ligne est immédiatement suivi du caractère de retour chariot, qui est 0x0d en hexadécimal et treize en décimal.

  Pourquoi j'utilise toujours un ancien Mac PowerPC en 2020

Les termes «saut de ligne» et «retour chariot» remontent à à la machine à écrire. Le plateau, le cylindre autour duquel le papier était enroulé, était monté sur un chariot mobile. Le chariot déplaçait la largeur d’un caractère vers la gauche chaque fois que vous appuyez sur une touche. Pour commencer une nouvelle ligne, vous avez poussé un levier qui a ramené le chariot dans sa position d’origine, et qui a fait tourner le rouleau et déplacé le papier vers le haut d’une hauteur d’une ligne. Cette action était connue sous le nom de retour du chariot, et la rotation du cylindre (et l’avancement du papier) était connue sous le nom de saut de ligne.

Le levier a été remplacé par une clé lorsque la machine à écrire s’est électrifiée. La clé était intitulée Retour chariot ou simplement Retour. Certains premiers ordinateurs tels que le BBC Micro toujours utilisé le nom Return sur ce que nous appelons maintenant la touche Entrée.

  Comment exécuter un fichier JAR sous Windows

En règle générale, vous ne pouvez pas voir les caractères de nouvelle ligne. Vous ne pouvez voir que leur effet. Le caractère de nouvelle ligne force le logiciel qui affiche ou traite le texte à commencer une nouvelle ligne.

Mais quel est le problème avec les longues lignes?

Le texte ne contenant pas ou très peu de caractères de nouvelle ligne sera trop large pour être lu confortablement dans la fenêtre du terminal. C’est ennuyeux, mais c’est faisable.

Un problème plus pernicieux est de devoir traiter des lignes d’une longueur telle qu’elles posent un problème au logiciel qui doit traiter, transmettre ou recevoir le texte. Cela peut être dû à des longueurs de mémoire tampon interne ou à d’autres aspects du logiciel que vous ne pouvez pas régler.

Mais il y a une solution à cela, appelée fold.

Premiers pas avec pli

Jetons un coup d’œil à une partie du texte qui contient de très, très longues lignes. Notez que nous ne parlons pas de phrases ici. (Bien que le texte provienne de Moby Dick d’Herman Melville, nous avons donc le meilleur des deux mondes.)

  Comment réparer une petite interface graphique dans les applications sur des écrans haute résolution dans Windows 10

Une ligne de texte est tout depuis le dernier caractère de nouvelle ligne (ou le début du fichier s’il s’agit de la première ligne du fichier) jusqu’au prochain caractère de nouvelle ligne, indépendamment de ce qui se trouve entre les deux. La ligne peut contenir plusieurs phrases. Il peut se retourner plusieurs fois dans la fenêtre du terminal. Mais c’est toujours une seule ligne de texte.

Regardons le texte sous sa forme brute:

less moby-dick.txt

moins de moby-dick.txt dans une fenêtre de terminal

Le texte est affiché en moins:

Moby Dick affiché en moins dans une fenêtre de terminal

Le texte s’étend d’un bord de la fenêtre à l’autre, et les retours à la ligne sont laids et ils cassent les mots au milieu.

Nous avons une autre version du fichier avec des lignes courtes:

less short-lines-moby-dick.txt

moins de lignes courtes-moby-dick.txt dans une fenêtre de terminal

Les lignes de ce fichier sont beaucoup plus courtes. Chaque ligne se termine par un caractère de nouvelle ligne.

Version courte ligne de Moby Dick affichée en moins dans une fenêtre de terminal

Si nous utilisons la commande hexdump, nous pouvons regardez les valeurs d’octets dans le fichier et voir les caractères de nouvelle ligne. L’option -C (canonique) formate la sortie pour afficher les valeurs hexadécimales dans le