Comandos Linux – Comando tr

Comando Linux tr

comando 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 O caractere “alerta”, que emite uma notificação ou alerta ao terminal.
\ b Backspace.
\ f Alimentação de formulário .
\ n Nova linha .
\ r Retorno de carro .
\ t Tab .
\ v Guia vertical.

Uma barra invertida seguida por outros mapas de caracteres para esse personagem.

– 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:

alnum Caracteres alfanuméricos .
alfa Caracteres alfabéticos.
em branco Caracteres de espaço em branco .
cntrl Caracteres de controle.
dígito Caracteres numéricos.
gráfico Caracteres gráficos.
ideograma Caracteres ideográficos.
mais baixo Caracteres alfabéticos minúsculos .
fonograma Caracteres fonográficos.
impressão Caracteres imprimíveis.
pontual Caracteres de pontuação.
runa Caracteres válidos.
espaço Caracteres de espaço.
especial Caracteres especiais.
superior Caracteres alfabéticos maiúsculos .
xdigit Caracteres hexadecimais .

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.

] 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 .

ed – Um simples editor de texto.
sed – Um utilitário para filtrar e transformar texto.
sh – O interpretador de comandos do Bourne shell.

Categorias
Compartilhe esse post

Posts populares

Linux Force Security Cursos de linux e segurança da informação

Seu futuro na tecnologia começa agora! Não deixe essa chance escapar.