tr é um utilitário de linha de comando em sistemas Linux e Unix o que se traduz, exclui, e aperta caracteres da entrada padrão e escreve o resultado para a saída padrão.

o comando tr pode realizar operações como remover caracteres repetidos, converter maiúsculas para minúsculas, e substituir e remover caracteres básicos. Normalmente, é usado em combinação com outros comandos através de tubos.,

neste tutorial, vamos mostrar-lhe como usar o comando tr através de exemplos práticos e explicações detalhadas das opções mais comuns.

Como Usar o Comando tr #

A sintaxe para o tr comando é da seguinte forma:

tr OPTION... SET1 

tr aceita dois conjuntos de caracteres, geralmente com o mesmo comprimento, e substitui os caracteres dos primeiros conjuntos com os caracteres correspondentes a partir do segundo set.,

a SET é basicamente uma cadeia de caracteres, incluindo os caracteres especiais escapados.

no exemplo seguinte, tr irá substituir todos os caracteres da entrada padrão (linuxize), mapeando os caracteres do primeiro conjunto com os correspondentes do segundo conjunto.,

echo 'linuxize' | tr 'lin' 'red'

Cada ocorrência de l é substituído por r i com e e n com d:

reduxeze

Os conjuntos de caracteres também podem ser definidas usando intervalos de caracteres., Por exemplo, em vez de escrever:

echo 'linuxize' | tr 'lmno' 'wxyz'

você pode usar:

echo 'linuxize' | tr 'l-n' 'w-z'

Quando -c (--complement) opção é usada, tr substitui todos os caracteres que não estão no SET1.

no exemplo abaixo, todos os caracteres, excepto “li”, serão substituídos pelo último carácter do segundo conjunto:

echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy

como poderá ter notado, o resultado acima tem um carácter mais visível do que a entrada., Isto porque o comandoecho imprime um carácter de newline invisível\n que também é substituído pory. Para ecoar uma cadeia sem uma nova linha, use a opção -n.

a opção -d (--delete) diz a tr para apagar os caracteres especificados no SET1. Ao apagar caracteres sem apertar, indique apenas um conjunto.,

O comando abaixo irá remover l i e z caracteres:

echo 'Linuxize' | tr -d 'liz'

L caracteres não é excluído porque a entrada inclui um maiúsculas L enquanto l caracteres no CONJUNTO de letras minúsculas.

Lnuxe

-s (--squeeze-repeats) opção substitui uma seqüência de ocorrências repetidas com o conjunto de caracteres no último SET.,

No exemplo a seguir, tr remove o repetido caracteres de espaço:

echo "GNU \ Linux" | tr -s ' '
GNU \ Linux

Quando SET2 é utilizada a seqüência de caracteres especificada no SET1 é substituído com SET2.

echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux

-t (--truncate-set1) opção forças tr truncar SET1 para o comprimento de SET2 antes de fazer processamento adicional.,

Por padrão, se o SET1 for maior que o SET2 tr reutilizará o último carácter do SET2. Aqui está um exemplo:

echo 'Linux ize' | tr 'abcde' '12'

A saída mostra que o personagem e a partir de SET1 é combinado com a mais recente personagem de SET2, que é o 2:

Linux iz2

Agora, use o mesmo comando com -t opção:

echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize

Você pode ver que os três últimos caracteres do SET1 são removidos., SET1 torna-se ‘ab’, o mesmo comprimento que SET2, e nenhuma substituição é feita.

combinação de opções #

o comando tr também lhe permite combinar as suas opções. Por exemplo, o comando a seguir primeira substitui todos os caracteres, exceto i com 0 e, em seguida, aperta o repetido 0 caracteres:

echo 'Linux ize' | tr -cs 'i' '0'
0i0i0

Tr Exemplos de Comandos #

nesta seção, abordaremos alguns exemplos de usos de tr comando.,

Convert lower case to upper case #

Converting lower case to upper case or reverse is one of the typical use cases of the tr command. corresponde a todos os caracteres minúsculos e corresponde a todos os caracteres maiúsculos.

echo 'Linuxize' | tr '' ''
LINUXIZE

em Vez de classes de personagem, você também pode usar intervalos:

echo 'Linuxize' | tr 'a-z' 'A-Z'

Para converter letras maiúsculas para minúsculas, basta mudar os locais dos jogos.,

Remover todos os caracteres não-numéricos #

O seguinte comando remove todos os caracteres não-numéricos:

echo "my phone is 123-456-7890" | tr -cd 

representa todos os caracteres de dígitos, e usando o -c opção, o comando remove todos os caracteres não numéricos.,será parecido com este:

1234567890

Colocar cada palavra em uma nova linha #

Para colocar cada palavra em uma nova linha, precisamos corresponder a todos os não-caracteres alfanuméricos e substituí-los com uma nova linha:

echo 'GNU is an operating system' | tr -cs '' '\n'
GNUisanoperatingsystem

Remover linhas em branco #

Para apagar as linhas em branco simplesmente aperte o repetitivos caracteres de nova linha:

tr -s '\n' < file.txt > new_file.txt

o comando acima estamos usando o símbolo de redirecionamento < para passar o conteúdo de file.txt tr comando., The redirection > writes the output of the command to new_file.txt.

Print $PATH directories on a separate line #

The $PATH environmental variable is a colon-delimited list of directories that tells the shell which directories to search for executable files when you type a command.,

A impressão de cada diretório em uma linha separada nós precisamos combinar os dois pontos (:) e substituí-lo com a nova linha:

echo $PATH | tr ':' '\n'
/usr/local/sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin

Conclusão #

tr é um comando para traduzir ou apagar caracteres.

embora muito útil, tr pode funcionar apenas com caracteres simples. Para uma correspondência de padrões mais complexa e manipulação de texto, você deve usar sed ou awk .

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *