Comando tr no Linux (transforma texto) [Guia Básico]

O comando tr no Liux faz a troca de uma variável por outra especificada. Este comando não trabalha diretamente com arquivos, portanto deve ser utilizado com a saída padrão de outro comando, com o condutor pipe. 

O comando tr pode fazer a troca de caracteres da variável de busca pela variável de troca, mas o número de caracteres precisa ser o mesmo em ambas.

As opções mais frequentes são:

  • -d: Apaga as ocorrências da variável de busca;
  • -s: Suprime as ocorrências repetidas da variável de busca;

Veja o exemplo com a lista de supermercado, onde o tr é usado para trocar todas as letras minúsculas para maiúsculas:

$ cat lista
arroz
carne
alface
tomate
$ tr [a-z] [A-Z] < lista
ARROZ
CARNE
ALFACE
TOMATE

O comando tr pode ser útil para transformar espaços para TABS em um arquivo:

$ cat arquivo | tr ':[space]:' '\t' > out.txt

Também pode consertar texto, retirando espaços:

$ cat domains 
www. certificacaolinux .com.br
www. kernel .org
www. nic  .br
$ cat domains | tr -d ' '
www.certificacaolinux.com.br
www.kernel.org
www.nic.br

Ele também pode retirar caracteres repetidos:

$ cat domains 
www.certificacaolinux.......com.br
www.kernel.org
www.nic.br
$ cat domains | tr -s '.'
www.certificacaolinux.com.br
www.kernel.org
www.nic.br

Também pode ser usado para trocar o Return “\n”  por virgula:

$ cat domains | tr -s '.' | tr '\n' ','
www.certificacaolinux.com.br,www.kernel.org,www.nic.br,

Também pode fazer o inverso, transformando um arquivo com itens separados por virgula em linhas:

$ cat arquivo 
Leia Organa,General,Resistência
Luke Skywalker,Jedi,Resistência
$ cat arquivo | tr ',' '\n' 
Leia Organa
General
Resistência
Luke Skywalker
Jedi
Resistência

Veja um vídeo de como este comando funciona:

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe