tr (Unix) - tr (Unix)

tr
O comando tr
O tr comando
Autor (es) original (is) Douglas McIlroy
( AT&T Bell Laboratories )
Desenvolvedor (s) Vários open-source e comerciais desenvolvedores
lançamento inicial Novembro de 1973 ; 47 anos atrás  ( 1973-11 )
Repositório Edite isso no Wikidata
Sistema operacional Unix , semelhante ao Unix , Plan 9 , Inferno , OS-9 , MSX-DOS , IBM i
Plataforma Plataforma cruzada
Modelo Comando
Licença coreutils : GPLv3 +

tr é um comando no Unix , Plan 9 , Inferno e sistemas operacionais semelhantes ao Unix. É uma abreviatura de translate ou transliterate , indicando sua operação de substituição ou remoção de caracteres específicos em seu conjunto de dados de entrada.

Visão geral

O utilitário lê um fluxo de bytes de sua entrada padrão e grava o resultado na saída padrão . Como argumentos , ele usa dois conjuntos de caracteres (geralmente do mesmo comprimento) e substitui as ocorrências dos caracteres do primeiro conjunto pelos elementos correspondentes do segundo conjunto. Por exemplo,

tr 'abcd' 'jkmn'

Mapas de todos os caracteres de uma a j , b para k , c a m , e d a n .

O conjunto de caracteres pode ser abreviado usando intervalos de caracteres. O exemplo anterior poderia ser escrito:

tr 'a-d' 'jkmn'

Em versões compatíveis com POSIX do tr , o conjunto representado por um intervalo de caracteres depende da ordem de agrupamento do local , por isso é mais seguro evitar intervalos de caracteres em scripts que podem ser executados em um local diferente daquele em que foram escritos. Frequentemente, os intervalos podem ser substituídos por conjuntos de caracteres POSIX , como [: alpha:] .

O s sinalizador tr comprime sequências de caracteres adjacentes idênticos em sua saída para um único token. Por exemplo,

tr -s '\n'

substitui as sequências de um ou mais caracteres de nova linha por uma única nova linha.

O d sinalizador tr exclui todos os tokens do conjunto de caracteres especificado de sua entrada. Nesse caso, apenas um único argumento de conjunto de caracteres é usado. O comando a seguir remove os caracteres de retorno de carro.

tr -d '\r'

A c bandeira indica o complemento do primeiro conjunto de caracteres. A invocação

tr -cd '[:alnum:]'

portanto, remove todos os caracteres não alfanuméricos.

Implementações

A versão original do tr foi escrita por Douglas McIlroy e introduzida na versão 4 do Unix .

A versão do tr pacote GNU coreutils foi escrita por Jim Meyering.

O comando também está disponível no shell OS-9 .

Um tr comando também faz parte das ferramentas ASCII para MSX-DOS2 para MSX-DOS versão 2.

A maioria das versões do tr , incluindo GNU tr e Unix clássico tr , opera em caracteres de byte único e não é compatível com Unicode . Uma exceção é a implementação do Heirloom Toolchest , que fornece suporte básico a Unicode.

O comando tr também foi transferido para o sistema operacional IBM i .

Ruby e Perl também têm um operador tr interno , que opera de forma análoga. O comando string map de Tcl é mais geral porque mapeia strings para strings, enquanto tr mapeia caracteres para caracteres.

Veja também

Referências

links externos