Comando Linux Admin - tr
A seguir está a sintaxe para tr. Este comando traduz ou exclui caracteres.
tr [OPTION] SET1 [SET2]
A seguir estão os interruptores comumente usados e as classes de caracteres com tr .
Comando | Açao |
---|---|
-d | Excluir |
-s | Aperte o texto repetido em SET1 com ocorrência única em SET2 |
[: alnum:] | Caracteres alfanuméricos |
[:alfa:] | Todas as letras |
[: dígito:] | Todos os dígitos |
[:em branco:] | Todos os espaços em branco horizontais |
[:espaço:] | Todos os espaços em branco horizontais ou verticais |
[:gráfico:] | Todos os caracteres imprimíveis, não incluindo espaços |
[:impressão:] | Todos os caracteres imprimíveis, incluindo espaços |
[: ponto:] | Todos os caracteres de pontuação |
[:mais baixo:] | Todos os caracteres minúsculos |
[:superior:] | Todos os caracteres maiúsculos |
tr é comumente usado para traduzir ou deletar caracteres em uma string. Pense em tr como uma alternativa mais simples ao comando substituto do sed . Lendo de stdin versus um arquivo.
Quando se pensa em usar "usar sed " ou "usar tr ", é melhor manter a filosofia simples. Se uma operação for simples em tr ; use-o. No entanto, uma vez que você comece a pensar em usar tr recursivamente, é melhor usar o comando de substituição do sed .
Normalmente, tr substituirá [SET1] por caracteres em [SET2], a menos que-dinterruptor é usado. Em seguida, os caracteres do fluxo em [SET1] serão excluídos.
Usando tr em nosso arquivo names.txt para transformar todos os caracteres minúsculos em maiúsculas -
[[email protected] Documents]# tr [:lower:] [:upper:] < names.txt
TED:DANIEL:101
JENNY:COLON:608
DANA:MAXWELL:602
MARIAN:LITTLE:903
BOBBIE:CHAPMAN:403
NICOLAS:SINGLETON:203
DALE:BARTON:901
AARON:DENNIS:305
SANTOS:ANDREWS:504
JACQUELINE:NEAL:102
[[email protected] Documents]#
Vamos transformar o caractere ":" de volta em uma guia -
[[email protected] Documents]# tr [:] [\\t] < names.txt
Ted Daniel 101
Jenny Colon 608
Dana Maxwell 602
Marian Little 903
Bobbie Chapman 403
Nicolas Singleton 203
Dale Barton 901
Aaron Dennis 305
Santos Andrews 504
Jacqueline Neal 102
[[email protected] Documents]#
E se quisesse salvar os resultados? Muito fácil usando o redirecionamento.
[[email protected] Documents]# tr [:] [\\t] < names.txt >> tabbedNames.txt
[[email protected] Documents]# cat tabbedNames.txt
Ted Daniel 101
Jenny Colon 608
Dana Maxwell 602
Marian Little 903
Bobbie Chapman 403
Nicolas Singleton 203
[[email protected] Documents]#
Vamos usar o -s ou opção de compressão em texto mal formatado -
[[email protected] Documents]# cat lines.txt
line 1
line 2
line 3
line 4
line 5
[[email protected] Documents]# tr -s [:blank:] ' ' < lines.txt >> linesFormat.txt
[[email protected] Documents]# cat linesFormat.txt
line 1
line 2
line 3
line 4
line 5
[[email protected] Documents]#