Shell Bash - Execução simples e sequencial de comandos no Linux
Índice:
- Como usar o comando
tr - Combinando opções
- Exemplos de comandos Tr
- Converter minúsculas em maiúsculas
- Remova todos os caracteres não numéricos
- Coloque cada palavra em uma nova linha
- Remover linhas em branco
- Imprimir diretórios
$PATHem uma linha separada - Conclusão
tr
é um utilitário de linha de comando nos sistemas Linux e Unix que converte, exclui e extrai caracteres da entrada padrão e grava o resultado na saída padrão.
O comando
tr
pode executar operações como remover caracteres repetidos, converter maiúsculas em minúsculas e substituir e remover caracteres básicos. Normalmente, é usado em combinação com outros comandos através da tubulação.
Neste tutorial, mostraremos 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 comando
tr
é a seguinte:
tr OPTION… SET1
tr
aceita dois conjuntos de caracteres, geralmente com o mesmo comprimento, e substitui os caracteres dos primeiros conjuntos pelos caracteres correspondentes do segundo conjunto.
Um
SET
é basicamente uma sequência de caracteres, incluindo os caracteres especiais com escape de barra invertida.
No exemplo a seguir,
tr
substituirá todos os caracteres da entrada padrão (linuxize), mapeando os caracteres do primeiro conjunto pelos correspondentes do segundo conjunto.
echo 'linuxize' | tr 'lin' 'red'
Cada ocorrência de
l
é substituída por
r
,
i
com e
n
com
d
:
reduxeze
Os conjuntos de caracteres também podem ser definidos usando intervalos de caracteres. Por exemplo, em vez de escrever:
echo 'linuxize' | tr 'lmno' 'wxyz'
você pode usar:
echo 'linuxize' | tr 'ln' 'w-z'
Quando a opção
-c
(
--complement
) é usada,
tr
substitui todos os caracteres que não estão no SET1.
No exemplo abaixo, todos os caracteres, exceto "li", serão substituídos pelo último caractere do segundo conjunto:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
Como você deve ter notado, a saída acima tem mais um caractere visível que a entrada. Isso ocorre porque o comando
echo
imprime um caractere de nova linha invisível
que também é substituído por
y
. Para ecoar uma sequência sem uma nova linha, use a opção
-n
.
A opção
-d
(
--delete
) informa ao
tr
para excluir os caracteres especificados em SET1. Ao excluir caracteres sem apertar, especifique apenas um conjunto.
O comando abaixo removerá os caracteres
l
,
z
:
echo 'Linuxize' | tr -d 'liz'
O caractere
L
não é excluído porque a entrada inclui um
L
maiúsculo enquanto o caracter
l
no SET é minúsculo.
Lnuxe
A opção
-s
(-
--squeeze-repeats
) substitui uma sequência de ocorrências repetidas pelo conjunto de caracteres no último SET.
No exemplo a seguir,
tr
remove os caracteres de espaço repetido:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Quando SET2 é usado, a sequência do caractere especificado em SET1 é substituída por SET2.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
A opção
-t
(
--truncate-set1
) força
tr
para truncar SET1 no comprimento de SET2 antes de continuar o processamento.
Por padrão, se SET1 for maior que SET2
tr
reutilizará o último caractere de SET2. Aqui está um exemplo:
echo 'Linux ize' | tr 'abcde' '12'
A saída mostra que o caractere
e
do SET1 corresponde ao caractere mais recente do SET2, que é
2
:
Linux iz2
Agora, use o mesmo comando com a opção
-t
:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Você pode ver que os três últimos caracteres do SET1 foram removidos. SET1 se torna 'ab', o mesmo comprimento que SET2 e nenhuma substituição é feita.
Combinando opções
O comando
tr
também permite combinar suas opções. Por exemplo, o comando a seguir substitui primeiro todos os caracteres, exceto
i
com
0
e depois pressiona os
0
caracteres repetidos:
echo 'Linux ize' | tr -cs 'i' '0'
Exemplos de comandos Tr
Nesta seção, abordaremos alguns exemplos de usos comuns do comando
tr
.
Converter minúsculas em maiúsculas
A conversão de minúsculas para maiúsculas ou reversa é um dos casos de uso típicos do comando
tr
.
corresponde a todos os caracteres minúsculos e
corresponde a todos os caracteres maiúsculos.
echo 'Linuxize' | tr '' ''
LINUXIZE
Em vez de classes de caracteres, você também pode usar intervalos:
echo 'Linuxize' | tr 'az' 'A-Z'
Para converter maiúsculas em minúsculas, basta mudar os locais dos conjuntos.
Remova todos os caracteres não numéricos
O comando a seguir remove todos os caracteres não numéricos:
echo "my phone is 123-456-7890" | tr -cd
representa todos os caracteres de dígito e, usando a opção
-c
, o comando remove todos os caracteres que não são de dígito. A saída terá a seguinte aparência:
Coloque cada palavra em uma nova linha
Para colocar cada palavra em uma nova linha, precisamos corresponder a todos os caracteres não alfanuméricos e substituí-los por uma nova linha:
echo 'GNU is an operating system' | tr -cs '' '\n'
Remover linhas em branco
Para excluir as linhas em branco, basta pressionar os caracteres de nova linha repetitivos:
tr -s '\n' < file.txt > new_file.txt
No comando acima, estamos usando o símbolo de redirecionamento
<
para passar o conteúdo do
file.txt
para o comando
tr
. O redirecionamento
>
grava a saída do comando em
new_file.txt
.
Imprimir diretórios
$PATH
em uma linha separada
A variável de ambiente
$PATH
é uma lista de diretórios delimitada por dois-pontos que informa ao shell quais diretórios procurar arquivos executáveis quando você digita um comando.
Para imprimir cada diretório em uma linha separada, precisamos corresponder os dois pontos (:) e substituí-lo pela 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 excluir caracteres.
Embora muito útil, o
tr
pode funcionar apenas com caracteres únicos. Para correspondência mais complexa de padrões e manipulação de strings, você deve usar
sed
ou
awk
.
Comando eco no linux com exemplos
O comando echo é um dos comandos mais básicos e mais usados no Linux. Os argumentos transmitidos para eco são impressos na saída padrão.
Comando Curl no linux com exemplos
O Curl é um utilitário de linha de comando para transferir dados de ou para um servidor projetado para funcionar sem a interação do usuário. Neste tutorial, mostraremos como usar a ferramenta de curvatura através de exemplos práticos e explicações detalhadas das opções de curvatura mais comuns.
Comando de corte do Linux com exemplos
Cut é um utilitário de linha de comando que permite cortar partes de linhas de arquivos especificados ou dados canalizados e imprimir o resultado na saída padrão. Neste tutorial, mostraremos como usar o comando de corte do Linux por meio de exemplos práticos e explicações detalhadas das opções de corte mais comuns.







