Aujourd'hui, j'ai appris un peu la tr
commande.
Mais j'étais coincé à comprendre la différence entre -c
et -C
.
Sur le manuel, il était écrit:
-C Complement the set of characters in string1, that is ``-C ab'' includes every character except for `a' and `b'.
-c Same as -C but complement the set of values in string1.
Je comprends pas tout à fait ce que fait set of values in string1
de -c
moyenne option.
Je pensais que ce peut traiter chaîne 1 "ab"
dans son ensemble et échapper unique a
et b
.
J'ai donc fait une expérience:
⇒ echo "ab_a_b" | tr -C 'ba' 'c'
abcacbc%
⇒ echo "ab_a_b" | tr -c 'ba' 'c'
abcacbc%
Les choses ne correspondaient pas à mes attentes!
Alors, quelle est la différence entre -C
et -c
aux tr
commandes?
Version du logiciel: BSD 2004 sur OSX10.10
command-line
tr
Zen
la source
la source
Réponses:
Le manuel POSIX dit ceci:
et contient la note suivante
De cela, il apparaît que l'
-c
option vous permet de spécifier des valeurs numériques représentant le caractère ASCII au lieu d'utiliser les caractères eux-mêmes.la source
set of values
signifie dans cette première version.cette question concerne donc BSD tr, pas gnu tr.
BSD tr man:
GNU tr man:
Les outils intégrés OSX seront, je crois, les versions BSD.
[faute de frappe, sed / tr]
la source