Pesquisa de site

10 exemplos de comandos tr no Linux


tr (abreviação de translate) é um utilitário de linha de comando útil que traduz e/ou exclui caracteres da entrada stdin e grava em stdout. É um programa útil para manipular texto na linha de comando.

Este artigo explicará alguns exemplos úteis de comando tr para iniciantes em Linux.

A sintaxe para executar o comando tr é a seguinte, onde os caracteres em SET1 são traduzidos para caracteres em SET2.

tr flags [SET1] [SET2]

Exemplos de comando tr do Linux

1. Um caso de uso simples do comando tr é alterar todas as letras minúsculas do texto para maiúsculas e vice-versa, conforme mostrado abaixo.

$ cat linux.txt

linux is my life
linux has changed my life
linux is best and everthing to me..:)
$ cat linux.txt | tr [:lower:] [:upper:]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

2. Como alternativa, você pode usar o seguinte comando para alterar todas as letras minúsculas para maiúsculas em um arquivo, conforme mostrado.

$ cat linux.txt | tr [a-z] [A-Z]

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

3. Para salvar os resultados gravados em stdout em um arquivo para processamento posterior, use o recurso de redirecionamento de saída do shell (>) conforme mostrado.

$ cat linux.txt | tr [a-z] [A-Z] >output.txt
$ cat output.txt 

LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)

4. Em relação ao redirecionamento, você pode enviar a entrada para tr usando o redirecionamento de entrada e redirecionar a saída para um arquivo usando o mesmo comando, conforme mostrado.

$ tr [a-z] [A-Z] < linux.txt >output.txt

5. Outro recurso útil é que você pode usar o sinalizador -d para excluir caracteres, por exemplo, para remover espaços nos nomes de domínio usando o comando a seguir.

$ cat domains.txt

www. tecmint. com
www. fossmint. com
www. linuxsay. com
$ cat domains.txt | tr -d '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

6. Se houver caracteres repetidos em uma sequência (por exemplo, espaços duplos) no texto que você está processando, você pode usar a opção -s para comprimir os caracteres, deixando apenas uma ocorrência disso.

$ cat domains.txt

www.tecmint.....com
www.fossmint.com
www.linuxsay.com
$ cat domains.txt | tr -s '' 

linux-console.net
www.fossmint.com
www.linuxsay.com

7. A opção -c diz ao tr para usar o complemento no dado de SET. Neste exemplo, queremos deletar todas as letras e deixar apenas o UID.

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"

8. Aqui está um exemplo de quebra de uma única linha de palavras (frase) em múltiplas linhas, onde cada palavra aparece separadamente.

$ echo "My UID is $UID"

My UID is 1000

$ echo "My UID is $UID" | tr " "  "\n"

My 
UID 
is 
1000

9. Relacionado ao exemplo anterior, você também pode traduzir várias linhas de palavras em uma única frase, conforme mostrado.

$ cat uid.txt

My 
UID 
is 
1000

$ tr "\n" " " < uid.txt

My UID is 1000

10. Também é possível traduzir apenas um único caractere, por exemplo, um espaço em um caractere “ : ”, como segue.

$ echo "linux-console.net =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

linux-console.net:=>Linux-HowTos,Guides,Tutorials

Existem vários caracteres de sequência que você pode usar com tr. Para obter mais informações, consulte a página de manual tr.

man tr

Isso é tudo! tr é um comando útil para manipular texto na linha de comando. Neste guia, mostramos alguns exemplos úteis de uso do comando tr para iniciantes no Linux. Você pode compartilhar suas idéias conosco através do formulário de comentários abaixo.