Dans ce guide, nous discuterons de deux commandes Linux moins connues, à savoir Expand et Développer avec des exemples pratiques. Pour ceux qui se demandent, la commande Expand est utilisée pour remplacer les caractères TAB par des caractères SPACE dans les fichiers et la commande Unexpand fait le contraire, c'est-à-dire remplace les caractères SPACE par des caractères TAB dans un fichier. En fait, MS-DOS a également une commande appelée "Expand", qui est utilisée pour étendre un fichier compressé. Mais la commande Linux Expand convertit simplement les tabulations en espaces. Ces deux commandes font partie de GNU coreutils et écrit par David MacKenzie .
À des fins de démonstration, j'utiliserai un fichier texte nommé "ostechnix.txt" tout au long de ce guide.
Développer des exemples de commandes
Comme indiqué précédemment, la commande Expand remplace les caractères TAB dans un fichier par des caractères SPACE.
Pour convertir les tabulations en espaces dans un fichier, par exemple "ostechnix.txt", et écrire le résultat sur la sortie standard à l'aide de la commande :
$ expand ostechnix.txt
Si vous ne souhaitez pas afficher le résultat dans la sortie standard, téléchargez-le simplement dans un autre fichier comme ci-dessous.
$ expand ostechnix.txt>output.txt
Nous pouvons également convertir les tabulations en espaces, en lisant à partir de l'entrée standard. Pour ce faire, exécutez simplement la commande "expand" sans mentionner le nom du fichier source :
$ expand
Tapez simplement le texte et appuyez sur ENTRÉE pour convertir les tabulations en espaces. Appuyez sur CTRL+C pour quitter.
Si vous ne voulez pas convertir les onglets après les espaces non vides, utilisez -i drapeau comme ci-dessous.
$ expand -i ostechnix.txt
On peut aussi avoir des tabulations espacées d'un certain nombre de caractères, et non 8 (la valeur par défaut) :
$ expand -t=5 ostechnix.txt
Vous pouvez même mentionner plusieurs positions de tabulation séparées par des virgules comme ci-dessous.
$ expand -t 5,10,15 ostechnix.txt
Ou,
$ expand -t "5 10 15" ostechnix.txt
Pour plus de détails, consultez les pages de manuel.
$ man expand
Exemples de commandes non développées
Le non-développé fera le contraire de la commande Développer. Il convertira les caractères SPACE en caractères TAB. Laissez-moi vous montrer quelques exemples pour apprendre à utiliser la commande Unexpand.
Pour convertir les blancs (espaces, bien sûr) d'un fichier en tabulations et écrire la sortie sur stdout, faites :
$ unexpand ostechnix.txt
Si vous souhaitez écrire la sortie dans un fichier au lieu de simplement l'afficher sur stdout, utilisez cette commande :
$ unexpand ostechnix.txt>output.txt
Convertissez les blancs en onglets, en lisant à partir de la sortie standard :
$ unexpand
Par défaut, la commande Unexpand ne convertira que les blancs initiaux. Si vous souhaitez convertir tous les espaces, au lieu des espaces initiaux uniquement, utilisez -a drapeau :
$ unexpand -a ostechnix.txt
Pour convertir uniquement les séquences d'espaces de début (veuillez noter qu'il remplace -a ):
$ unexpand --first-only ostechnix.txt
Avoir des tabulations séparées par un certain nombre de caractères, et non 8 (active -a ):
$ unexpand -t 5 ostechnix.txt
De même, nous pouvons mentionner plusieurs positions de tabulation séparées par des virgules comme ci-dessous.
$ unexpand -t 5,10,15 ostechnix.txt
Ou,
$ unexpand -t "5 10 15" ostechnix.txt
Pour plus de détails, consultez les pages de manuel.
$ man unexpand
Suggestion de lecture :
- Le didacticiel de la commande Fold avec des exemples pour les débutants
Lorsque vous travaillez sur un grand nombre de fichiers, les commandes Expand et Unexpand peuvent être très utiles pour remplacer les caractères TAB indésirables par des caractères SPACE et vice versa.