Comando Linux tr
Em sistemas operacionais do tipo Unix, o comando tr converte automaticamente (substitui ou mapeia) um conjunto de caracteres para outro.
Este documento cobre a versão GNU / Linux do tr .
Descrição
O utilitário tr copia a entrada padrão para a saída padrão com substituição ou exclusão dos caracteres selecionados.
Sintaxe
tr [-Ccsu] string1 string2
Nesta forma, os caracteres na seqüência de string1 são convertidos para os caracteres em string2 onde o primeiro caractere em string1 é traduzido para o primeiro caractere em string2 e assim por diante. Se a string1 for maior que a string2 , o último caractere encontrado na string2 será duplicado até que a string1 se esgote.
tr [-Ccu] -d string1
Nesse formulário, os caracteres na string1 são excluídos da entrada.
tr [-Ccu] -s string1
Nesse formulário, os caracteres na string1 são compactados conforme descrito para a opção -s (veja abaixo).
tr [-Ccu] -ds string1 string2
Na quarta forma, os caracteres na cadeia1 são excluídos da entrada e os caracteres na cadeia2 são compactados conforme descrito para a opção -s .
Opções
-C | Complemente o conjunto de caracteres na cadeia1 , que é ” -C ab “, inclua todos os caracteres, exceto ‘ a ‘ e ‘ b ‘. |
-c | Igual a -C, mas complementa o conjunto de valores na string1 . |
-d | Exclua caracteres na sequência1 da entrada. |
-s | Aperte várias ocorrências dos caracteres listados no último operando ( string1 ou string2 ) na entrada em uma única instância do caractere. Isso ocorre após todas as exclusões e traduções serem concluídas. |
-você | Garanta que qualquer saída seja sem buffer. |
Como os caracteres são especificados
Ao especificar os caracteres a serem traduzidos com tr , as convenções a seguir são usadas para representar conjuntos (ou “classes”) de caracteres.
Qualquer caractere não descrito por uma das convenções a seguir representa a si próprio.
\ octal | Uma barra invertida seguida por 1, 2 ou 3 dígitos octais representa um caractere com esse valor codificado. Para seguir uma sequência octal com um dígito como caractere, preencha a sequência octal à esquerda com zeros. | ||||||||||||||||||||||||||||||||
\ caractere | Uma barra invertida seguida por certos caracteres especiais é mapeada para valores especiais:
Uma barra invertida seguida por outros mapas de caracteres para esse personagem. | ||||||||||||||||||||||||||||||||
c – c | Intervalo de caracteres . Para pontos finais de intervalo não octais representa o intervalo de caracteres entre os pontos finais de intervalo, inclusive e em ordem crescente, conforme definido pela sequência de intercalação. Se um ou os dois pontos de extremidade do intervalo forem sequências octais, ele representará o intervalo de valores codificados específicos entre os pontos de extremidade do intervalo, inclusive. | ||||||||||||||||||||||||||||||||
[: classe :] | Representa todos os caracteres pertencentes à classe de caracteres definida. Os nomes das classes são:
Quando ” [: lower:] ” aparece na string1 e ” [: upper:] ” aparece na mesma posição relativa na string2 , representa os pares de caracteres do mapeamento do toupper na categoria LC_CTYPE da localidade atual. Quando ” [: cano:] ” aparece em seqüência1 e ” [: inferior:] ” aparece na mesma posição relativa em seqüência2 , que representa os caracteres pares do tolower mapeamento no LC_CTYPE categoria da localidade actual. Com exceção da conversão de caso, os caracteres nas classes estão em ordem não especificada. Para obter informações específicas sobre quais caracteres ASCII estão incluídos nessas classes, consulte o ctype e as páginas de manual relacionadas. ” [= equiv =] ” Representa todos os caracteres pertencentes à mesma classe de equivalência que o equiv , ordenados por seus valores codificados. | ||||||||||||||||||||||||||||||||
[ # * n ] | Representa n ocorrências repetidas do caractere representado por # . Essa expressão é válida apenas quando ocorre na string2 . Se n for omitido ou for zero, ele será interpretado como grande o suficiente para estender a sequência string2 ao comprimento da string1 . Se n tiver um zero à esquerda, ele será interpretado como um valor octal; caso contrário, será interpretado como um valor decimal. |
Meio Ambiente
As variáveis de ambiente LANG , LC_ALL , LC_CTYPE e LC_COLLATE afetam a execução de tr .
Status de saída
tr retorna um status de saída 0 se operou com êxito e um valor maior que zero se ocorreu um erro.
Exemplos
tr -cs "[: alpha:]" "\ n" <arquivo1
Crie uma lista das palavras no arquivo1 , uma por linha, em que uma palavra é considerada uma sequência máxima de letras.
tr "[: inferior:]" "[: superior:]" <arquivo1
Traduza o conteúdo do arquivo1 para maiúsculas.
tr -cd "[: print:]" <arquivo1
Remova todos os caracteres não imprimíveis do arquivo1 .
tr "[= e =]" "e"
Remova todas as marcas “diacríticas” das versões acentuadas da letra e .
Comandos relacionados
ed – Um simples editor de texto.
sed – Um utilitário para filtrar e transformar texto.
sh – O interpretador de comandos do Bourne shell.