Substitui o conjunto A-Za-z
por seu complemento, ou seja, todos os caracteres no conjunto de caracteres atual, menos os especificados. Citando POSIX , na ausência de -d
:
If the -C option is specified, the complements of the characters specified by string1 (the set of all characters in the current character set, as defined by the current setting of LC_CTYPE, except for those actually specified in the string1 operand) shall be placed in the array in ascending collation sequence, as defined by the current setting of LC_COLLATE.
If the -c option is specified, the complement of the values specified by string1 shall be placed in the array in ascending order by binary value.
Assim, seu comando está substituindo todos os caracteres que não A-Z ou a-z por novas linhas.
Como tr
usa um mapa de caracteres um-para-um para suas substituições , não é tão Simples assim; As opções -c
e -C
não são apenas "não em", elas criam o conjunto de todos os caracteres que não estão no conjunto determinado, na ordem especificada pela opção. Isso só é relevante se o conjunto de alvos tiver mais de um caractere.