Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

fmt - Un formateur de texte simple

Le fmt programme plie également le texte, et bien plus encore. Il accepte les fichiers ou l'entrée standard et effectue le formatage des paragraphes sur le flux de texte. Fondamentalement, il remplit et joint les lignes du texte tout en préservant les lignes vierges et l'indentation.

Pour démontrer, nous aurons besoin de texte. Levons-en un peu du fmt page d'informations :


`fmt' lit à partir des arguments FILE spécifiés (ou de l'entrée standard si aucune n'est donnée) et écrit sur la sortie standard.


Par défaut, les lignes vierges, les espaces entre les mots et l'indentation sont

`fmt' lit à partir des arguments FILE spécifiés (ou de l'entrée standard si aucune n'est donnée) et écrit sur la sortie standard.


Par défaut, les lignes vierges, les espaces entre les mots et l'indentation sont


conservé dans la sortie ; les lignes d'entrée successives avec des indentations différentes ne sont pas jointes ; les onglets sont développés en entrée et introduits en sortie.


`fmt' préfère rompre les lignes à la fin d'une phrase, et essaie d'éviter les sauts de ligne après le premier mot d'une phrase ou avant le dernier mot d'une phrase. Un "saut de phrase" est défini comme la fin d'un paragraphe ou un mot se terminant par l'un des ".?!", suivi de deux espaces ou de la fin de la ligne, en ignorant les parenthèses ou les guillemets intermédiaires. Comme TeX, `fmt' lit des "paragraphes" entiers avant de choisir les sauts de ligne ; l'algorithme est une variante de celui donné par Donald E. Knuth et Michael F. Plass dans "Breaking Paragraphs Into Lines",

`Software--Practice & Experience' 11, 11 (novembre 1981), 1119-1184.

conservé dans la sortie ; les lignes d'entrée successives avec des indentations différentes ne sont pas jointes ; les onglets sont développés en entrée et introduits en sortie.


`fmt' préfère rompre les lignes à la fin d'une phrase, et essaie d'éviter les sauts de ligne après le premier mot d'une phrase ou avant le dernier mot d'une phrase. Un "saut de phrase" est défini comme la fin d'un paragraphe ou un mot se terminant par l'un des ".?!", suivi de deux espaces ou de la fin de la ligne, en ignorant les parenthèses ou les guillemets intermédiaires. Comme TeX, `fmt' lit des "paragraphes" entiers avant de choisir les sauts de ligne ; l'algorithme est une variante de celui donné par Donald E. Knuth et Michael F. Plass dans "Breaking Paragraphs Into Lines",

`Software--Practice & Experience' 11, 11 (novembre 1981), 1119-1184.


Nous allons copier ce texte dans notre éditeur de texte et enregistrer le fichier sous fmt-info.txt. Maintenant, disons que nous voulions reformater ce texte pour qu'il s'adapte à une colonne de cinquante caractères. Nous pourrions le faire en traitant le fichier avec fmt et les terres parsemées de -w option:


[moi@linuxbox ~]$ fmt -w 50 fmt-info.txt | diriger

`fmt' lit à partir des arguments FILE spécifiés (ou de l'entrée standard si

aucune n'est fournie) et écrit sur la sortie standard.


Par défaut, les lignes vierges, les espaces entre les mots et l'indentation sont

conservé dans la sortie ; les lignes d'entrée successives avec des indentations différentes ne sont pas jointes ; les onglets sont développés en entrée et introduits en sortie.

[moi@linuxbox ~]$ fmt -w 50 fmt-info.txt | diriger

`fmt' lit à partir des arguments FILE spécifiés (ou de l'entrée standard si

aucune n'est fournie) et écrit sur la sortie standard.


Par défaut, les lignes vierges, les espaces entre les mots et l'indentation sont

conservé dans la sortie ; les lignes d'entrée successives avec des indentations différentes ne sont pas jointes ; les onglets sont développés en entrée et introduits en sortie.


Eh bien, c'est un résultat maladroit. Peut-être devrions-nous réellement lire ce texte, car il explique ce qui se passe :

Par défaut, les lignes vides, les espaces entre les mots et l'indentation sont conservés dans la sortie ; les lignes d'entrée successives avec des indentations différentes ne sont pas jointes ; les onglets sont développés en entrée et introduits en sortie.

Alors, fmt préserve l'indentation de la première ligne. Heureusement, fmt fournit une option pour corriger ceci :



[moi@linuxbox ~]$ fmt -cw 50 fmt-info.txt

`fmt' lit à partir des arguments FILE spécifiés (ou de l'entrée standard si aucune n'est donnée) et écrit sur la sortie standard.

[moi@linuxbox ~]$ fmt -cw 50 fmt-info.txt

`fmt' lit à partir des arguments FILE spécifiés (ou de l'entrée standard si aucune n'est donnée) et écrit sur la sortie standard.


Par défaut, les lignes vides, les espaces entre les mots et l'indentation sont conservés dans la sortie ; les lignes d'entrée successives avec des indentations différentes ne sont pas jointes ; les onglets sont développés en entrée et introduits en sortie.


`fmt' préfère rompre les lignes à la fin d'une phrase, et essaie d'éviter les sauts de ligne après le premier mot d'une phrase ou avant le

dernier mot d'une phrase. Un "saut de phrase" est défini comme la fin d'un paragraphe ou un mot se terminant par l'un des ".?!", suivi de deux espaces ou de la fin de la ligne, en ignorant tout

entre parenthèses ou guillemets. Comme TeX,

« fmt » lit des « paragraphes » entiers avant de choisir les sauts de ligne ; l'algorithme est une variante de

celle donnée par Donald E. Knuth et Michael F. Plass dans "Breaking Paragraphs Into Lines",

« Logiciel – Pratique et expérience » 11, 11

(novembre 1981), 1119-1184.

Par défaut, les lignes vides, les espaces entre les mots et l'indentation sont conservés dans la sortie ; les lignes d'entrée successives avec des indentations différentes ne sont pas jointes ; les onglets sont développés en entrée et introduits en sortie.


`fmt' préfère rompre les lignes à la fin d'une phrase, et essaie d'éviter les sauts de ligne après le premier mot d'une phrase ou avant le

dernier mot d'une phrase. Un "saut de phrase" est défini comme la fin d'un paragraphe ou un mot se terminant par l'un des ".?!", suivi de deux espaces ou de la fin de la ligne, en ignorant tout

entre parenthèses ou guillemets. Comme TeX,

« fmt » lit des « paragraphes » entiers avant de choisir les sauts de ligne ; l'algorithme est une variante de

celle donnée par Donald E. Knuth et Michael F. Plass dans "Breaking Paragraphs Into Lines",

« Logiciel – Pratique et expérience » 11, 11

(novembre 1981), 1119-1184.


Bien mieux. En ajoutant le -c option, nous avons maintenant le résultat souhaité.

fmt a quelques options intéressantes :


Tableau 21-3 : Options fmt


Description des options

Description des options

-c Fonctionner dans marge de la couronne mode. Cela préserve l'indentation des deux premières lignes d'un paragraphe. Les lignes suivantes sont alignées avec l'indentation de la deuxième ligne.


image

-p un magnifique Formatez uniquement les lignes commençant par le préfixe un magnifique. Après le formatage, le contenu de un magnifique sont préfixés à chaque ligne reformatée. Cette option peut être utilisée pour formater le texte dans les commentaires du code source. Par exemple, tout langage de programmation ou fichier de configuration qui utilise un caractère « # » pour délimiter un commentaire peut être formaté en spécifiant -p '#' afin que seuls les commentaires soient formatés. Voir l'exemple ci-dessous.


image

-s Mode fractionné uniquement. Dans ce mode, les lignes ne seront divisées que pour s'adapter à la largeur de colonne spécifiée. Les lignes courtes ne seront pas jointes pour remplir les lignes. Ce mode est utile lors du formatage de texte tel que le code où la jonction n'est pas souhaitée.


image

-u Effectue un espacement uniforme. Cela s'appliquera à la traditionnelle "machine à écrire-


image


image

style » au formatage du texte. Cela signifie un seul espace entre les mots et deux espaces entre les phrases. Ce mode est utile pour supprimer la « justification », c'est-à-dire le texte qui a été rempli d'espaces pour forcer l'alignement sur les marges gauche et droite.


image

-w largeur Formater le texte pour qu'il tienne dans une colonne largeur caractères larges. La valeur par défaut est de 75 caractères. Noter: fmt formate en fait des lignes légèrement plus courtes que la largeur spécifiée pour permettre l'équilibrage des lignes.


image


Le -p option est particulièrement intéressante. Avec lui, nous pouvons formater des portions sélectionnées d'un fichier, à condition que les lignes à formater commencent toutes par la même séquence de caractères. De nombreux langages de programmation utilisent le signe dièse (#) pour indiquer le début d'un commentaire et peuvent donc être formatés à l'aide de cette option. Créons un fichier qui simule un programme utilisant des commentaires :



[moi@linuxbox ~]$ chat > ​​fmt-code.txt

# Ce fichier contient du code avec des commentaires.


# Cette ligne est un commentaire.

# Suivi d'une autre ligne de commentaire.

# Et un autre.


Ceci, d'autre part, est une ligne de code. Et une autre ligne de code.

Et un autre.

[moi@linuxbox ~]$ chat > ​​fmt-code.txt

# Ce fichier contient du code avec des commentaires.


# Cette ligne est un commentaire.

# Suivi d'une autre ligne de commentaire.

# Et un autre.


Ceci, d'autre part, est une ligne de code. Et une autre ligne de code.

Et un autre.


Notre exemple de fichier contient des commentaires qui commencent par la chaîne « # » (un # suivi d'un espace) et des lignes de « code » qui ne le font pas. Maintenant, en utilisant fmt, nous pouvons formater les commentaires et laisser le code intact :



[moi@linuxbox ~]$ fmt -w 50 -p '# ' fmt-code.txt

# Ce fichier contient du code avec des commentaires.


# Cette ligne est un commentaire. suivi d'un autre

# ligne de commentaire. Et un autre.


Ceci, d'autre part, est une ligne de code. Et une autre ligne de code.

Et un autre.

[moi@linuxbox ~]$ fmt -w 50 -p '# ' fmt-code.txt

# Ce fichier contient du code avec des commentaires.


# Cette ligne est un commentaire. suivi d'un autre

# ligne de commentaire. Et un autre.


Ceci, d'autre part, est une ligne de code. Et une autre ligne de code.

Et un autre.


Notez que les lignes de commentaires adjacentes sont jointes, tandis que les lignes vides et les lignes qui ne commencent pas par le préfixe spécifié sont conservées.


Meilleur système d'exploitation Cloud Computing chez OnWorks :