tr comando em Linux traduz um conjunto de caracteres para outro. Ele pode substituir um personagem ou um conjunto de caracteres por outro personagem ou conjunto de caracteres. tr lê a entrada a partir da entrada padrão e mostra a saída na saída padrão. A entrada também pode ser dada em um arquivo ou usando o comando echo.
tr é o diminutivo de tradução.,
O formato padrão para tr comando é :
$ tr
com Base na opção(s) especificado o tr comando substitui o conjunto de caracteres em “set 1” por “2”.
substituindo caracteres
para substituir caracteres usando o comando tr, basta mencionar os caracteres a substituir no primeiro conjunto e os caracteres a colocar no seu lugar após a substituição no segundo conjunto.
$ tr 'a' '1'
Este comando irá esperar pela entrada do STDIN., Depois de obter a entrada, a saída no ecrã irá aparecer com todas as instâncias de ” a “substituídas por “1”.
Usando o comando ” echo com tr de comando
O exemplo acima lê o sinal de entrada a partir do STDIN. O comando Echo pode fornecer dados juntamente com o comando tr. Use o operador Pipe (|) para executar os comandos em conjunto.,
$ echo "apples and bananas" | tr 'a' '1'
Ter entrada a partir de um ficheiro
tr também pode levar a sua entrada a partir de um arquivo. Isto é útil quando a tradução deve ser feita sobre uma volumosa coleção de texto. O operador de redirecionamento (<) é usado para dar entrada a partir de um arquivo.
$ tr 'a' '1' < input.txt
entrada.txt contém o mesmo texto que o exemplo acima.,
para salvar o texto para um arquivo use redirecionamento (>) operador para redirecionar o resultado para um arquivo.
$ tr 'a' '1' < input.txt > output.txt
Alterar as maiúsculas / minúsculas do texto com o comando tr
Um dos usos mais comuns do tr comando é traduzir o texto de minúsculas para maiúsculas, ou vice-versa.
Como tr funciona em conjuntos de caracteres, podemos mencionar explicitamente o conjunto de caracteres minúsculos como conjunto 1 e conjunto de caracteres maiúsculos como conjunto 2 para fazer a troca.,
$ echo "apples and bananas" | tr a-z A-Z
Set A-z representa o conjunto de letras minúsculas e o conjunto A-Z representa o conjunto de letras maiúsculas.
outra maneira de fazer o mesmo é:
$ echo "apples and bananas" | tr
Aqui, representa o conjunto de alfabetos minúsculos e representa o conjunto de alfabetos maiúsculos.
Apagar caracteres com tr
tr tem a capacidade de eliminar um conjunto de caracteres do texto. Isto é conseguido usando tr junto com o comando-D.,
$ echo "apples and bananas" | tr -d 'n'
Este comando irá eliminar todas as ocorrências de ‘n’ no texto.
Para remover ocorrências de vários personagens, contar com todos os caracteres de aspas simples.
$ echo "apples and bananas" | tr -d 'na'
Este comando irá remover ocorrências de ‘n’ e ‘um’
Desde tr funciona no nível de personagem todas as ocorrências de ‘n’ e ‘a’ são removidos., É fácil estar enganado e pensar que o comando só irá remover ocorrências de ‘na’ que ocorrem nessa sequência. No entanto, não é esse o caso.
espremer múltiplas ocorrências em uma
apertar múltiplas ocorrências em uma pode ser útil para comprimir o texto. É frequentemente usado para remover instâncias de espaço múltiplo entre linhas.
-s opção é usada com tr para espremer.,
$ echo "apples and bananas" | tr -s 'p'
Várias ocorrências de ‘p’, em que a apple tem sido reduzido a uma única ocorrência.
$ echo "apples and bananas" | tr -s 'na' '1'
A saída desse comando é equivalente ao de primeiro substituição de ocorrências de caracteres ‘n’ e ‘a’ com ‘1’, seguido de um aperto de operação. Para comparar veja o segundo comando na saída., O resultado do segundo comando é de simples substituição de caracteres.
vamos espremer todos os 1’s na saída do segundo comando para ver se obtemos a mesma saída que a primeira.
Podemos obter a mesma saída como o primeiro comando na saída.,
Para remover espaços em branco consecutivos no uso do texto :
$ echo "apples and bananas" | tr -s " "
em Alternativa pode ser usado no lugar de ” “
$ echo "apples and bananas" | tr -s
a Extração de dígitos de texto
Para alcançar operações em que apenas um determinado conjunto de caracteres que precisam ser preservados. É melhor usar a opção-C. – c é utilizado para complementar o conjunto.
complemento de um conjunto significa tudo o mais além do que está nesse conjunto.,
$ echo " Home : 011 1234 4321" | tr -cd ,'\n'
Mencionar ‘\n’ (newline) é importante, pois caso contrário, a saída não tem uma nova linha e se mistura com a linha seguinte no terminal. Outra razão para não ignorar as linhas novas ao excluir caracteres é que o seu ficheiro pode ter vários dígitos em várias linhas. Se o caractere newline for apagado, então todos os números irão aparecer juntos sem qualquer espaço.,
a Extração de palavras do texto
Este processo é exatamente o oposto da executada acima. Aqui vamos ignorar os dígitos e concentrar-nos apenas em palavras feitas de letras.
$ echo " Home : 011 1234 4321" | tr -d
neste exemplo, temos simplesmente excluídos todos os dígitos de texto.uma forma mais controlada de fazer o mesmo seria através do complemento.,
$ echo " Home : 011 1234 4321" | tr -cd ,'\n'
representa o conjunto de alfabetos. Pense nisso como uma coleção dos dois conjuntos, inferior e superior.
= +
número de ocorrências de palavras
contando quantas vezes uma palavra aparece num texto pode ser útil para construir histogramas. Também é muito útil na construção de modelos probabilísticos para detecção de spam por e-mail.
Primeiro, vamos criar um arquivo com algumas palavras recorrentes.,
às Vezes pode ser útil para a apresentação de cada palavra do texto em uma nova linha.
$ tr -cs "" "\n" < input.txt
Para obter o número de ocorrência de cada palavra usar:
$ tr -cs "" "\n" < input.txt | sort | uniq -c
Classificação é usada para classificar a lista de lexicographically., uniq-c conta as ocorrências individuais de cada palavra e produz o resultado como uma lista de palavras com uma contagem.
a conclusão
o comando tr é útil para a realização de traduções baseadas em caracteres. Quando combinado com outros comandos como sort ou uniq, o comando tr pode ser muito poderoso. Leia mais sobre o comando tr em sua página de man. Ao aplicar transformações sobre uma linha inteira, o comando sed pode ser usado.