Maison  >  Article  >  Opération et maintenance  >  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

齐天大圣
齐天大圣original
2020-11-05 16:48:152944parcourir

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 [选项] 参数

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 原字符串 需替换成的字符串

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

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

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.

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

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!

Déclaration:
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