Hoy aprendí un poco sobre el tr
comando.
Pero estaba atrapado en comprender la diferencia entre -c
y -C
.
En el manual, decía:
-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.
No estoy muy bien lo hace set of values in string1
de -c
media opción.
Pensé que podría tratar la cadena 1 "ab"
como un todo y escapará solo a
y b
.
Entonces hice un experimento:
⇒ echo "ab_a_b" | tr -C 'ba' 'c'
abcacbc%
⇒ echo "ab_a_b" | tr -c 'ba' 'c'
abcacbc%
¡Las cosas no coincidieron con mis expectativas!
Entonces, ¿cuál es la diferencia entre -C
y -c
al tr
mando?
Versión de software: BSD 2004 en OSX10.10
command-line
tr
zen
fuente
fuente
Respuestas:
El manual POSIX dice esto:
y contiene la siguiente nota
A partir de esto, parece que la
-c
opción le permite especificar valores numéricos que representan el carácter ASCII en lugar de utilizar los propios caracteres.fuente
set of values
significa en esta versión inicial.Esta pregunta es en realidad sobre BSD tr, no sobre gnu tr.
BSD tr man:
GNU tr man:
Las herramientas integradas de OSX creo que serán las versiones BSD.
[error tipográfico fijo, sed / tr]
fuente