Présentation de commande: sed
Table des matières:
- Comment utiliser la commande
tr
- Combiner les options
- Exemples de commandes Tr
- Convertir les minuscules en majuscules
- Supprimer tous les caractères non numériques
- Mettez chaque mot dans une nouvelle ligne
- Supprimer les lignes vides
- Imprimer
$PATH
répertoires$PATH
sur une ligne distincte - Conclusion
tr
est un utilitaire de ligne de commande dans les systèmes Linux et Unix qui traduit, supprime et serre les caractères de l'entrée standard et écrit le résultat dans la sortie standard.
La commande
tr
peut effectuer des opérations telles que la suppression de caractères répétés, la conversion de majuscules en minuscules et le remplacement et la suppression de caractères de base. En règle générale, il est utilisé en combinaison avec d'autres commandes via la tuyauterie.
Dans ce tutoriel, nous allons vous montrer comment utiliser la commande
tr
travers des exemples pratiques et des explications détaillées des options les plus courantes.
Comment utiliser la commande
tr
La syntaxe de la commande
tr
est la suivante:
tr OPTION… SET1
tr
accepte deux jeux de caractères, généralement de même longueur, et remplace les caractères des premiers jeux par les caractères correspondants du deuxième jeu.
Un
SET
est essentiellement une chaîne de caractères, y compris les caractères spéciaux avec barre oblique inverse.
Dans l'exemple suivant,
tr
remplacera tous les caractères de l'entrée standard (linuxize), en mappant les caractères du premier ensemble avec ceux correspondants du deuxième ensemble.
echo 'linuxize' | tr 'lin' 'red'
Chaque occurrence de
l
est remplacée par
r
,
i
par
e
et
n
par
d
:
reduxeze
Les jeux de caractères peuvent également être définis à l'aide de plages de caractères. Par exemple, au lieu d'écrire:
echo 'linuxize' | tr 'lmno' 'wxyz'
vous pouvez utiliser:
echo 'linuxize' | tr 'ln' 'w-z'
Lorsque l'option
-c
(
--complement
) est utilisée,
tr
remplace tous les caractères qui ne sont pas dans SET1.
Dans l'exemple ci-dessous, tous les caractères à l'exception de «li» seront remplacés par le dernier caractère du deuxième jeu:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
Comme vous l'avez peut-être remarqué, la sortie ci-dessus a un caractère plus visible que l'entrée. En effet, la commande
echo
imprime un caractère de retour à la ligne invisible
qui est également remplacé par
y
. Pour faire écho à une chaîne sans nouvelle ligne, utilisez l'option
-n
.
L'option
-d
(
--delete
) indique à
tr
de supprimer les caractères spécifiés dans SET1. Lors de la suppression de caractères sans compression, spécifiez un seul jeu.
La commande ci-dessous supprimera les caractères
l
,
i
et
z
:
echo 'Linuxize' | tr -d 'liz'
Le caractère
L
n'est pas supprimé car l'entrée comprend un
L
majuscule tandis que le caractère
l
dans le SET est en minuscule.
Lnuxe
L'option
-s
(
--squeeze-repeats
) remplace une séquence d'occurrences répétées par le jeu de caractères du dernier SET.
Dans l'exemple suivant,
tr
supprime les caractères d'espace répétés:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Lorsque SET2 est utilisé, la séquence du caractère spécifié dans SET1 est remplacée par SET2.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
L'option
-t
(
--truncate-set1
) force
tr
à tronquer SET1 à la longueur de SET2 avant de poursuivre le traitement.
Par défaut, si SET1 est plus grand que SET2,
tr
réutilisera le dernier caractère de SET2. Voici un exemple:
echo 'Linux ize' | tr 'abcde' '12'
La sortie montre que le caractère
e
de SET1 correspond au dernier caractère de SET2, qui est
2
:
Linux iz2
Maintenant, utilisez la même commande avec l'option
-t
:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Vous pouvez voir que les trois derniers caractères du SET1 sont supprimés. SET1 devient 'ab', de la même longueur que SET2, et aucun remplacement n'est effectué.
Combiner les options
La commande
tr
vous permet également de combiner ses options. Par exemple, la commande suivante remplace d'abord tous les caractères sauf
i
par
0
, puis serre les
0
caractères répétés:
echo 'Linux ize' | tr -cs 'i' '0'
Exemples de commandes Tr
Dans cette section, nous couvrirons quelques exemples d'utilisations courantes de la commande
tr
.
Convertir les minuscules en majuscules
La conversion des minuscules en majuscules ou en sens inverse est l'un des cas d'utilisation typiques de la commande
tr
.
correspond à tous les caractères minuscules et
correspond à tous les caractères majuscules.
echo 'Linuxize' | tr '' ''
LINUXIZE
Au lieu de classes de caractères, vous pouvez également utiliser des plages:
echo 'Linuxize' | tr 'az' 'A-Z'
Pour convertir les majuscules en minuscules, changez simplement les emplacements des ensembles.
Supprimer tous les caractères non numériques
La commande suivante supprime tous les caractères non numériques:
echo "my phone is 123-456-7890" | tr -cd
représente tous les caractères numériques et en utilisant l'option
-c
, la commande supprime tous les caractères non numériques. La sortie ressemblera à ceci:
Mettez chaque mot dans une nouvelle ligne
Pour mettre chaque mot dans une nouvelle ligne, nous devons faire correspondre tous les caractères non alphanumériques et les remplacer par une nouvelle ligne:
echo 'GNU is an operating system' | tr -cs '' '\n'
Supprimer les lignes vides
Pour supprimer les lignes vides, appuyez simplement sur les caractères de nouvelle ligne répétitifs:
tr -s '\n' < file.txt > new_file.txt
Dans la commande ci-dessus, nous utilisons le symbole de redirection
<
pour transmettre le contenu du
file.txt
à la commande
tr
. La redirection
>
écrit la sortie de la commande dans
new_file.txt
.
Imprimer
$PATH
répertoires
$PATH
sur une ligne distincte
La variable d'environnement
$PATH
est une liste de répertoires séparés par deux-points qui indique au shell quels répertoires rechercher les fichiers exécutables lorsque vous tapez une commande.
Pour imprimer chaque répertoire sur une ligne distincte, nous devons faire correspondre les deux points (:) et le remplacer par la nouvelle ligne:
echo $PATH | tr ':' '\n'
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
Conclusion
tr
est une commande pour traduire ou supprimer des caractères.
Bien que très utile,
tr
ne peut fonctionner qu'avec des caractères uniques. Pour une correspondance de motifs et une manipulation de chaînes plus complexes, vous devez utiliser
sed
ou
awk
.
Commande Echo sous Linux avec des exemples
La commande echo est l'une des commandes les plus élémentaires et les plus utilisées de Linux. Les arguments passés à echo sont imprimés sur la sortie standard.
Commande curl sous linux avec des exemples
Curl est un utilitaire de ligne de commande pour transférer des données depuis ou vers un serveur conçu pour fonctionner sans interaction avec l'utilisateur. Dans ce didacticiel, nous allons vous montrer comment utiliser l'outil curl à travers des exemples pratiques et des explications détaillées des options de curl les plus courantes.
Commande wget sous linux avec des exemples
GNU Wget est un utilitaire en ligne de commande pour télécharger des fichiers depuis le Web. Dans ce tutoriel, nous allons vous montrer comment utiliser la commande Wget à travers des exemples pratiques et des explications détaillées des options Wget les plus courantes.