Articles

Usando o comando tr em Linux para jogar com os caracteres

Posted by admin

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.,

sem o ‘\n’

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
A lista vai sobre. A saída foi cortado para caber

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.

Leave A Comment