Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
[Actualités]
Les Technos #469 : Un jour sans fin
[Actualités]
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des perfor...
[Actualités]
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
[Actualités]
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 ser...
[Actualités]
Windows 10 version 22H2 : erreur de mise à jour et de désinstallation
[Actualités]
OpenAI prépare désormais son propre navigateur
[Actualités]
WhatsApp bat Telegram : les transcriptions des messages vocaux arrivent pour tou...
[Actualités]
Unreal et Unreal Tournament désormais gratuits sur Internet Archive
[Actualités]
Windows 10 : Microsoft affiche des publicités en plein écran pour les PC équi...
[Articles]
Dungeons 4 - Nintendo Switch Edition
[Articles]
The Bridge Curse 2 : The Extrication
[Articles]
Farmagia
[Articles]
I*CHU: Chibi Edition
[Articles]
Farming Simulator 25
[Articles]
Goblin Slayer -Another Adventurer- Nightmare Feast
[Articles]
Deel lance des programmes en marque blanche et pour les revendeurs pour plus de ...
[Articles]
ESET Research : WolfsBane, nouvelle porte dérobée de cyber-espionnage Linux cr...
[Articles]
Devoteam présente son nouveau plan stratégique « AMPLIFY » avec un fort acce...
[Articles]
LEGO Horizon Adventures
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] tr - Transposer ou éliminer des caractères. [size=18] [b]Résumé[/b] [/size] [b]tr[/b] [-cst] [--complement] [--squeeze-repeats] [--truncate-set1] chaîne_1 chaîne_2 [b][/b] [b]tr[/b] {-s,--squeeze-repeats} [-c] [--complement] chaîne_1 [b][/b] [b]tr[/b] {-d,--delete} [-c] chaîne_1 [b][/b] [b]tr[/b] {-d,--delete} {-s,--squeeze-repeats} [-c] [--complement] chaîne_1 chaîne_2 La version GNU de [b]tr[/b] accepte également les options --help et --version. [size=18] [b]Description[/b] [/size] Cette page de manuel documente la version GNU de [b]tr.[/b] [b]tr[/b] copie son entrée standard sur sa sortie standard en effectuant l'une des manipulations suivantes : [table][row][col] [/col][col](bu transposer, et éventuellement réunir les caractères dupliqués de la chaîne résultante [b][/b] (bu réunir les caractères dupliqués [b][/b] (bu supprimer des caractères [b][/b] (bu supprimer des caractères, et éventuellement réunir les caractères dupliqués de la chaîne résultante[/col][/row][/table] Les arguments [i]chaîne1[/i] et (éventuellement) [i]chaîne2[/i] décrivent des ensembles ordonnés de caractères, que l'on mentionnera plus bas sous les noms de jeu1 et jeu2. Ces ensembles représentent les caractères de l'entrée standard sur lesquels [b]tr[/b] travaillera. L'option [i]--complement[/i] ([i][/i]-c) remplace jeu1 par son complément (tous les caractères n'appartenant pas à jeu1). [b]DÉfinir les ensembles de caractÈres[/b] Le format des arguments [i]chaîne1[/i] et [i]chaîne2[/i] ressemble à celui des expressions rationnelles. Il ne s'agit toutefois pas d'expressions rationnelles, mais simplement de listes de caractères. La plupart des caractères sont représentes par eux-mêmes, néanmoins les chaînes peuvent également contenir des raccourcis plus simples décrits ci-dessous. Certains de ces raccourcis ne peuvent être utilisés que dans [i]chaîne1[/i] ou que dans [i]chaîne2[/i], comme c'est mentionné ci-dessous. Séquences avec BackSlash. Un backslash suivi d'un caractère non défini ci-dessous déclenche un message d'erreur. ea [table][row][col] [/col][col]Contrôle-G.[/col][/row][/table] eb [table][row][col] [/col][col]Contrôle-H.[/col][/row][/table] ef [table][row][col] [/col][col]Contrôle-L.[/col][/row][/table] en [table][row][col] [/col][col]Contrôle-J.[/col][/row][/table] er [table][row][col] [/col][col]Contrôle-M.[/col][/row][/table] et [table][row][col] [/col][col]Contrôle-I.[/col][/row][/table] ev [table][row][col] [/col][col]Contrôle-K.[/col][/row][/table] eooo [table][row][col] [/col][col]Le caractère de valeur octale [i]ooo[/i], s'étendant sur 1 à 3 chiffres.[/col][/row][/table] ee [table][row][col] [/col][col]BackSlash.[/col][/row][/table] Intervalles. La notation `[i]m[/i]-[i]n[/i]' représente tous les caractères compris entre [i]m[/i] et [i]n[/i], en ordre croissant. [i]m[/i] doit être inférieur à [i]n[/i], sinon une erreur se produit. Par exemple, `0-9' est équivalent à `0123456789'. Bien que la version GNU de [b]tr[/b] ne supporte pas la syntaxe System V qui utilise des crochets pour indiquer les intervalles, les transpositions spécifiées avec ce format fonctionneront quand même si les crochets de chaîne1 correspondent à des crochets identiques de chaîne2. Répétition de caractères. La notation `[[i]c[/i]*[i]n[/i]]' dans [i]chaîne2[/i] se développe en [i]n[/i] copies du caractère [i]c[/i]. Ainsi, `[y*6]' est équivalent à `yyyyyy'. La notation `[[i]c[/i]*]' dans [i]chaîne2[/i] se développe en autant de copie de [i]c[/i] qu'il le faut pour rendre le jeu2 aussi long que jeu1. Si [i]n[/i] commence par 0, il est interprété en octal, sinon en décimal. Classes de caractères. La notation `[:[i]nom-classe[/i]:]' correspond à l'ensemble de tous les caractères appartenant à la classe (prédéfinie) [i]nom-classe[/i]. Les caractères ne se présentent pas dans un ordre particulier, sauf pour les classes `upper' `lower' dont les membres sont en ordre croissant. Quand les options [i]--delete[/i] ([i][/i]-d) et [i]--squeeze-repeats[/i] ([i][/i]-s) sont utilisées simultanément, n'importe quelle classe de caractères peut être mentionnée dans [i]chaîne2[/i]. Autrement, seules les classes `lower' et `upper' sont acceptées dans [i]string2[/i], et ceci seulement si la classe correspondante (`upper' et `lower', respectivement) est mentionnée à la même position relative dans [i]chaîne1[/i]. Ceci permet de convertir le type majuscule/minuscule des caractères. Les noms de classes sont indiqués ci-dessous. Une erreur se produit si l'on tente d'utiliser un nom de classe invalide. alnum [table][row][col] [/col][col]Lettres et chiffres.[/col][/row][/table] alpha [table][row][col] [/col][col]Lettres.[/col][/row][/table] blank [table][row][col] [/col][col]Caractères d'espacement horizontaux.[/col][/row][/table] cntrl [table][row][col] [/col][col]caractères de contrôle.[/col][/row][/table] digit [table][row][col] [/col][col]Chiffres.[/col][/row][/table] graph [table][row][col] [/col][col]caractères imprimables, sauf l'espace.[/col][/row][/table] lower [table][row][col] [/col][col]Lettres minuscules.[/col][/row][/table] print [table][row][col] [/col][col]caractères imprimables, y compris l'espace.[/col][/row][/table] punct [table][row][col] [/col][col]caractères de ponctuation.[/col][/row][/table] space [table][row][col] [/col][col]Caractères d'espacement horizontaux ou verticaux.[/col][/row][/table] upper [table][row][col] [/col][col]Lettres majuscules.[/col][/row][/table] xdigit [table][row][col] [/col][col]Chiffres hexadécimaux.[/col][/row][/table] Classes d'équivalence. La syntaxe `[=[i]c[/i]=]' se développe en l'ensemble des caractères équivalents à [i]c[/i], sans ordre particulier. Les classes d'équivalence sont une invention récente destinée à supporter les alphabets autres que l'anglais. Mais il n'y a pas de manière standard de les définir ou de connaître leur contenu. Ainsi elles ne sont pas totalement implémentées dans la version GNU de [b]tr .[/b] La classe d'équivalence d'un caractère est composée uniquement de ce caractère, ce qui rend ces classes inutiles actuellement. [NDT] Il serait pourtant bien pratique que la classe d'équivalence d'un caractère contienne également ses versions accentuées... [b]Traduction[/b] [b]tr[/b] effectue les traductions de caractères lorsqu'on lui fournit à la fois [i]chaîne1[/i] et [i]chaîne2[/i], et si l'on n'utilise pas l'option --delete ([i][/i]-d). [b]tr[/b] transpose chaque caractère d'entrée appartenant au jeu1 en un caractère correspondant du jeu2. Les caractères non trouvés dans jeu1 sont copies sans modification. Quand un caractère apparaît plusieurs fois dans jeu1, et si les caractères correspondants de jeu2 ne sont pas toujours les mêmes, seule la version finale est utilisée. Par exemple ces deux commandes sont équivalentes :[table][row][col] [/col][col] .nf tr aaa xyz tr a z .fi[/col][/row][/table] Un usage classique de [b]tr[/b] est la conversions de minuscules en majuscules. Ceci peut être réalisé de nombreuses manières différentes. En voici trois :[table][row][col] [/col][col] .nf tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ tr a-z A-Z tr '[:lower:]' '[:upper:]' .fi[/col][/row][/table] [NDT] Une utilisation pratique pour nous est la suppression des accents d'un texte. En voici un exemple supprimant les accents utilisés en français.[table][row][col] [/col][col] .nf tr "àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ" "aceeeeiioouuACEEEEIIOOUU" .fi[/col][/row][/table] Quand [b]tr[/b] effectue une traduction, jeu1 et jeu2 doivent normalement avoir la même longueur. Si jeu1 est plus court que jeu2, les caractères supplémentaires en fin de jeu2 sont ignorés. D'autre part, si jeu1 est plus long que jeu2, la portabilité n'est pas assurée. POSIX.2 précise que dans ce cas le comportement est indéfini. La version BSD de [b]tr[/b] complète jeu2 jusqu'à la même longueur que jeu1 en répétant son dernier caractère de fois autant que nécessaire. La version System V de [b]tr[/b] tronque jeu1 à la même longueur que jeu2. Par défaut, la version GNU de [b]tr[/b] se comporte comme la version BSD. Quand l'option --truncate-set1 ([i][/i]-t) est mentionnée, elle se comporte comme la version System V. Cette option n'a pas d'effet pour les autres manipulations que les traductions. Le comportement System V de [b]tr[/b] rend impossible la commande BSD classique[table][row][col] [/col][col] .nf tr -cs A-Za-z0-9 'e012' .fi[/col][/row][/table] car elle ne convertit que les octets nuls (le premier élément du complément de jeu1) en Saut de Ligne, au lieu de convertir tous les caractères non-alphanumériques. [b]Éliminer les rÉpÉtitions et effacer des caractÈres[/b] Quand seule l'option --delete ([i][/i]-d) est fournie, [b]tr[/b] supprime tous les caractères d'entrée présents dans jeu1. Quand seule l'option --squeeze-repeats ([i][/i]-s) est fournie, [b]tr[/b] remplace chaque répétitions de caractères appartenant au jeu1 par une seule occurrence de ce caractère. Quand les deux options --delete et --squeeze-repeats sont réclamées en même temps, [b]tr[/b] effectue d'abord toutes les suppressions des caractères de jeu1, puis élimine les répétitions des caractères appartenant au jeu2. L'option --squeeze-repeats peut également être utilisée pendant les traductions, auquel cas [b]tr[/b] effectue d'abord la transposition, puis élimine les répétitions de caractères appartenant au jeu2. Voici quelques exemples destinés à illustrer diverses combinaisons des options : Supprimer les octets nuls :[table][row][col] [/col][col] tr -d 'e000'[/col][/row][/table] Afficher chaque mot sur une ligne indépendante. Ceci convertit tous les caractères non alphanumériques en sauts de lignes, puis regroupe les lignes blanches successives en un seul saut de ligne :[table][row][col] [/col][col] tr -cs '[a-zA-Z0-9]' '[en*]'[/col][/row][/table] Convertir les séquences de sauts de lignes en un seul saut de ligne (ceci supprime les lignes blanches) :[table][row][col] [/col][col] tr -s 'en'[/col][/row][/table] La version GNU de [b]tr[/b] accepte également les options supplémentaire suivantes : [i]--help[/i] [table][row][col] [/col][col]Afficher un message d'aide sur la sortie standard et se terminer normalement.[/col][/row][/table] [i]--version[/i] [table][row][col] [/col][col]Afficher un numéro de version sur la sortie standard et se terminer normalement.[/col][/row][/table] [b]Message davertissement[/b] Lorsque la variable d'environnement POSIXLY_CORRECT est validée, plusieurs messages d'erreurs et d'avertissements sont inhibés, afin d'assurer une compatibilité stricte avec POSIX.2. Les messages en question se produisent dans les circonstances suivantes : 1. Quand l'option [i]--delete[/i] est utilisée sans l'option [b]--squeeze-repeats,[/b] et si [i]chaîne2[/i] est fournie, la version GNU de [b]tr[/b] affiche par défaut un message d'erreur et se termine, car [i]chaîne2[/i] ne serait pas utilisée. Les spécifications POSIX indiquent que dans ce cas [i]chaîne2[/i] doit simplement être ignorée. Ignorer un argument sans prévenir l'utilisateur n'est pas une bonne idée. 2. Quand un nombre octal ambigu est fourni par une séquence d'échappement. Par exemple e400 correspond en réalité au caractère e40 suivi du chiffre 0, car la valeur octale 400 ne tient pas dans un octet. Remarquez que la version GNU de [b]tr[/b] ne fournit pas de compatibilité totale BSD ou System V. Par exemple, il n'y a pas d'option pour inhiber l'interprétation des séquences POSIX [:alpha:], [=c=], et [c*10]. Remarquez également que la version GNU de [b]tr[/b] ne supprime pas les octets nuls automatiquement contrairement aux versions UNIX traditionnelles, avec lesquelles il n'y a pas de moyen de conserver les octets nuls. [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 1997-2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Matériel
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
Les Technos
Les Technos #469 : Un jour sans fin
Jeux Vidéos
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des performances à revoir
Matériel
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
Tablettes
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 serait abandonnée
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?