O rev
comando do Linux inverte cadeias de texto. Este comando pode operar no texto fornecido ou em um arquivo e parece extremamente simples. Mas, como muitos utilitários de linha de comando, seu poder real se torna aparente quando você o combina com outros comandos.
O rev
comando é um daqueles utilitários simples do Linux que, à primeira vista, parece algo estranho. Ele executa uma única função: inverte strings. E além de poder imprimir uma página de ajuda rápida ( -h
) e mostrar seu número de versão ( -V
), ele não aceita nenhuma opção de linha de comando .
Então, rev
inverte as cordas, e é isso? Sem variações ou opções? Bem, sim e não. Sim, não tem permutações, mas não, isso dificilmente é tudo. Este tutorial mostra como combiná-lo para operações poderosas.
Quando você o usa rev
como um bloco de construção em sequências de comando mais complicadas, ele realmente começa a mostrar seu valor. rev
faz parte de um grupo de comandos (como tac
e yes
) que são facilitadores. É mais fácil apreciar sua utilidade quando você vê como eles tornam o uso de outros comandos mais eficiente.
Índice
Usado na linha de comando sem outros parâmetros, rev
pega qualquer entrada digitada, reverte-a e a imprime na janela do terminal. Ele continua fazendo isso até que você pressione Ctrl + C para sair.
rev
Se você digitar algum texto e pressionar Enter, isso rev
imprimirá a string ao contrário – a menos que você forneça um palíndromo , é claro.
Você pode usar echo
para enviar texto para rev
.
echo um dois três | rev
Você também pode usar rev
para inverter o conteúdo de um arquivo de texto inteiro, linha por linha. Neste exemplo, temos um arquivo contendo uma lista de nomes de arquivos. O arquivo é denominado “filelist.txt”.
rev filelist.txt
Cada linha é lida do arquivo, revertida e impressa na janela do terminal.
Aqui está um exemplo usando tubulação de entrada que chama rev
duas vezes.
Este comando remove o último caractere da string de texto. Isso pode ser útil para remover a pontuação. Precisamos usar o cut
comando para retirar o personagem .
echo 'Remover pontuação.' | rev | cut -c 2- | rev
Vamos decompô-lo.
echo
envia a string na primeira chamada para rev
.rev
inverte a corda e a canaliza cut
.-c
opção (caracteres) informa cut
para retornar uma sequência de caracteres da string.2-
opção informa cut
para retornar o intervalo de caracteres do caractere dois até o final da linha. Se um segundo número fosse fornecido, como 2-5
, o intervalo seria de dois a cinco caracteres. Nenhum segundo número significa “até o fim da string”.rev
qual inverte a string, então ela volta à sua ordem original.Como cortamos o primeiro caractere da string invertida , cortamos o último caractere da string original . Sim, você pode fazer isso com sed
ou awk
, mas esta é uma sintaxe mais fácil.
Podemos usar um truque semelhante para retornar a última palavra da linha.
O comando é semelhante ao último: novamente, ele usa rev
duas vezes. As diferenças residem na maneira como o cut
comando é usado para selecionar partes do texto.
echo 'Separe a última palavra' | rev | cut -d '' -f1 | rev
Aqui está a análise do comando:
echo
envia a string na primeira chamada para rev
.rev
inverte a corda e a canaliza cut
.-d' '
opção (delimitador) informa cut
para retornar uma sequência de caracteres delimitados por um espaço.-f1
opção diz cut
para retornar a primeira seção da string que não contém o delimitador. Ou seja, da primeira parte da frase até o primeiro espaço.rev
qual inverte a string, de forma que ela volte à sua ordem original.Como extraímos a primeira palavra da string invertida , eliminamos a última palavra da string original . A última palavra da frase foi “palavra” e foi impressa para nós.
Digamos que temos um arquivo contendo uma lista de nomes de arquivos e os nomes de arquivos estão entre aspas. Queremos remover as aspas dos nomes dos arquivos.
Vejamos o arquivo:
menos filelist.txt
O conteúdo do arquivo é exibido para nós em less
.
Podemos remover a pontuação de ambas as extremidades de cada linha com o seguinte comando. Este comando usa tanto rev
e cut
duas vezes.
rev filelist.txt | cut -c 2- | rev | cut -c 2-
Os nomes dos arquivos são listados para nós sem as aspas.
O comando se divide assim:
rev
inverte as linhas no arquivo e as direciona para cut
.-c
opção (caracteres) informa cut
para retornar uma seqüência de caracteres de cada linha.2-
opção informa cut
para retornar o intervalo de caracteres do caractere dois até o final de cada linha.rev.
rev
inverte as cordas, para que elas voltem à ordem original. Eles são canalizados cut
uma segunda vez.-c
opção (caracteres) informa cut
para retornar uma sequência de caracteres de cada string.2-
opção informa cut
para retornar o intervalo de caracteres do caractere dois até o final de cada linha. Isso “salta sobre” a aspa inicial, que é o caractere um em cada linha.Este é um comando que retorna uma lista classificada de cada extensão de arquivo no diretório atual. Ele usa cinco comandos Linux distintos.
ls | rev | cut -d '.' -f1 | rev | classificar | uniq
O processo é direto:
ls
lista os arquivos no diretório atual. Estes são canalizados para rev
.rev
inverte os nomes dos arquivos e os direciona para cut
.cut
retorna a primeira parte de cada nome de arquivo até um delimitador. O -d'.'
diz cut
para usar o ponto final “.” como o delimitador. A parte dos nomes de arquivo invertidos até o primeiro período são as extensões de arquivo. Estes são canalizados para rev
.rev
reverte as extensões de arquivo em sua ordem original. Eles são canalizados sort
.sort
classifica as extensões de arquivo e canaliza os resultados para uniq
.uniq
retorna uma única lista para cada tipo de extensão de arquivo exclusiva. Observe que se não houver extensão de arquivo (como para o makefile e os diretórios Help e gc_help), todo o nome do arquivo será listado.Para dar um toque final a ele, adicione a -c
opção de linha de comando (contagem) ao uniq
comando.
ls | rev | cut -d '.' -f1 | rev | classificar | uniq -c
Agora obtemos uma lista ordenada dos diferentes tipos de arquivo no diretório atual com uma contagem de cada um.
Essa é uma linha muito bacana!
Às vezes você tem que voltar para frente. E você geralmente avança mais rápido como parte de uma equipe.
Adicione rev
ao seu repertório de comandos go-to, e em breve você o estará usando para simplificar sequências de comandos complicadas.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…