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] < listaARROZCARNEALFACETOMATE
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.brwww. kernel .orgwww. nic .br
$ cat domains | tr -d ' 'www.certificacaolinux.com.brwww.kernel.orgwww.nic.br
Ele também pode retirar caracteres repetidos:
$ cat domains www.certificacaolinux.......com.brwww.kernel.orgwww.nic.br
$ cat domains | tr -s '.'www.certificacaolinux.com.brwww.kernel.orgwww.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.