Maison > Opération et maintenance > exploitation et maintenance Linux > Explication détaillée de la commande tr sous le système Linux

Explication détaillée de la commande tr sous le système Linux

齐天大圣
Libérer: 2020-11-05 16:50:32
original
2997 Les gens l'ont consulté

Aujourd'hui, j'aimerais vous présenter une commande très couramment utilisée - tr. Cette commande peut être utilisée pour remplacer des chaînes, supprimer des caractères spécifiés et compresser plusieurs caractères répétés en un seul. De plus, cette commande prend en charge les tubes. D’après l’introduction des fonctions ci-dessus, vous devriez pouvoir sentir que cette commande est très puissante.

Ensuite, introduisons la commande :

tr [选项] 参数
Copier après la connexion

Les options couramment utilisées sont les suivantes :

  • -c suivi d'une plage de caractères, ce qui signifie sauf ces caractères Caractères

  • -d Supprimer les caractères spécifiés

  • -s Compresser les caractères en double en un seul

Apprenons à utiliser cette commande à travers plusieurs cas

Remplacement de chaîne

C'est la fonction la plus basique Lorsqu'aucune option n'est ajoutée, cela signifie remplacement de chaîne, le format de commande est :

tr 原字符串 需替换成的字符串
Copier après la connexion

Ici, on utilise aussi souvent le symbole -, qui signifie continu. Regardons le cas ci-dessous :

# 字符串替换,将小写字母替换为大写字母
# echo hello,world | tr [a-z] [A-Z]
HELLO,WORLD
Copier après la connexion

Supprimer des caractères

Utilisez l'option -d pour supprimer les caractères spécifiés, et utilisez l'option -d -c pour conserver le caractères spécifiés. Regardons le cas ci-dessous

# 删除指定字符ae
# echo 'There are apples' | tr -d 'ae'
Thr r ppls

# 删除指定字符,只保留数字和字母及换行符,其他的字符全部删除
# echo 'sSwd,aw23e;sw aswe' | tr -d -c 'a-zA-Z0-9\n'
sSwdaw23eswaswe
Copier après la connexion

Compresser les caractères

Cette fonction est très couramment utilisée. Elle peut compresser des caractères répétés consécutifs en un seul. Nous l'utilisons souvent pour supprimer des espaces consécutifs et ne laisser qu'un seul espace, et pour supprimer des sauts de ligne consécutifs et ne laisser qu'une seule nouvelle ligne. Pour compléter la fonction de compression des caractères, vous devez utiliser l'option -s.

# 删除连续的空格只留下一个(我们也经常删除连续的换行符只留一个)
# echo -e "hello    world.\n\n\n" | tr -s ' \n'
hello world.
Copier après la connexion

Les exemples ci-dessus sont relativement simples et vous ne pourrez peut-être pas voir la puissance de cette commande. Examinons quelques cas légèrement plus complexes.

Nous savons que la coupe n'est pas très efficace pour traiter les espaces consécutifs. Si vous souhaitez utiliser cut pour sélectionner la deuxième colonne du résultat affiché par la commande df, vous ne pouvez pas le faire. À l'heure actuelle, si vous utilisez d'abord la commande tr pour compresser plusieurs espaces consécutifs en un seul, la commande cut peut répondre à vos besoins.

# df -h | tr -s ' \t' | cut -d ' ' -f 2
Size
40G
487M
497M
497M
497M
100M
Copier après la connexion

Comme vous pouvez le voir, grâce au traitement de tr, cut peut désormais obtenir la deuxième colonne d'informations.

La commande tr est très puissante et très simple à utiliser. J'espère que tout le monde pourra la maîtriser et l'appliquer.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal