Tutorial Linux - comando tr

O comando tr é utilizado para substituir ou apagar caracteres. Esse comando é muito usado em scritps para formatar textos grandes, poupando bastante tempo do processo de substituição de caracteres. O comando tr significa translate (traduzir em português).



Sintaxe do comando tr


tr [opção] conjunto1 [conjunto2]

Veja alguns exemplos abaixo:


Transformar letras minúsculas em maiúsculas.

O comando a seguir converte todas as letras minúsculas do arquivo "arquivo_original.txt" para maiúsculas e salva em "arquivo_modificado.txt":

tr [:lower:] [:upper:] < arquivo_original.txt > arquivo_modificado.txt

Transformar letras minúsculas em maiúsculas usando intervalos especificos.

No comando abaixo, todas as letras que estiverem no intervalo a-z (a até z) serão transformadas em maiúsculas:

tr a-z A-Z < arquivo_original.txt > arquivo_modificado.txt

Substituir chaves por parênteses em um arquivo texto.

O comando abaixo, todas as chaves serão transformadas em parênteses:

tr '{}' '()' < arquivo_original.txt > arquivo_modificado.txt

Substituir espaços em branco por tabs.

O comando abaixo substitui todos os espaços por tabs. Pode ser usado também o '\n' para substituir os espaços por uma nova linha:

tr [:space:] '\t' < arquivo_original.txt > arquivo_modificado.txt

Substituir caracteres de espaço repetidos.

Esse comando apaga mais de um espaço em sequência, mantendo apenas um espaço no lugar:

tr -s [:space:] ' ' < arquivo_original.txt > arquivo_modificado.txt

Apagar caracteres especificos. Apagar todas letras 'a' do arquivo.

Esse comando pode ser usado para apagar mais de um caracter ao mesmo tempo. Por exemplo 'aeiou', apagaria todas as vogais:

tr -d 'a' < arquivo_original.txt > arquivo_modificado.txt

Apagar todos os números de um texto.

Esse comando apaga todos os números deixando apenas as letras e caracteres especiais:

tr -d [:digit:] < arquivo_original.txt > arquivo_modificado.txt

Apagar todos os caracteres menos os números.

Esse comando apaga todos os caracteres inclusive espaços, caracteres especiais e quebras de linhas, mantendo somente números no arquivo:

tr -cd [:digit:] < arquivo_original.txt > arquivo_modificado.txt