Hoje eu aprendi um pouco sobre tr
comando.
Mas eu estava preso em entender a diferença entre -c
e -C
.
No manual, dizia:
-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.
Eu não estou entendo muito bem o que faz set of values in string1
da -c
opção média.
Eu pensei que ele pode tratar string 1 "ab"
como um todo e vai escapar sozinho a
e b
.
Então eu fiz um experimento:
⇒ echo "ab_a_b" | tr -C 'ba' 'c'
abcacbc%
⇒ echo "ab_a_b" | tr -c 'ba' 'c'
abcacbc%
As coisas não correspondiam à minha expectativa!
Então, qual é a diferença entre -C
e -c
no tr
comando?
Versão do software: BSD 2004 no OSX10.10
command-line
tr
zen
fonte
fonte
Respostas:
O manual do POSIX diz o seguinte:
e contém a seguinte nota
A partir disso, parece que a
-c
opção permite especificar valores numéricos que representam caracteres ASCII em vez de usar os próprios caracteres.fonte
set of values
significa nesta versão inicial.esta questão é realmente sobre BSD tr, não gnu tr.
BSD tr man:
GNU tr man:
OSX construído em ferramentas, acredito que sejam as versões BSD.
[erro de digitação fixo, sed / tr]
fonte