Categories: Tecnologia

Como usar o comando look no Linux

Fatmawati Achmad Zaenuri / Shutterstock

O lookcomando do Linux percorre um arquivo e lista todas as linhas que começam com uma palavra ou frase específica. Mas cuidado! Ele se comporta de maneira diferente em diferentes distribuições Linux. Este tutorial mostrará como usá-lo.

O comando do visual do Ubuntu se comporta de maneira diferente

Para um comando simples, mas útil, lookcertamente me deixou confuso quando estava pesquisando este artigo. Havia dois problemas: compatibilidade e documentação.

Este artigo foi verificado usando Ubuntu, Fedora e Manjaro. lookfoi fornecido com cada uma dessas distribuições, o que foi ótimo. O problema era que o comportamento não era o mesmo nos três. A versão do Ubuntu era muito diferente. De acordo com o Ubuntu Manpages , o comportamento deve ser o mesmo.

Eu finalmente descobri. look tradicionalmente usa uma pesquisa binária , enquanto o Ubuntu lookusa uma pesquisa linear . As man pages online do Ubuntu para Bionic Beaver (18.04), Cosmic Cuttlefish (18.10) e Disco Dingo (19.04) dizem que a versão Ubuntu usa uma pesquisa binária, o que não é o caso.

Se dermos uma olhada na página de manual local do Ubuntu, vemos que ela afirma claramente que lookusa uma pesquisa linear. Existe uma opção de linha de comando para forçá-lo a usar uma pesquisa binária. Nenhuma das versões nas outras distribuições tem a opção de escolher entre os métodos de pesquisa.

homem olha

Percorrendo a página do manual, vemos a seção que descreve esta versão do   lookuso de uma pesquisa linear em vez de binária.

A moral da história é verificar as páginas de manual locais primeiro.

Pesquisa linear versus pesquisa binária

O método de pesquisa binária é mais rápido e eficiente do que uma pesquisa linear. Trabalhar com arquivos grandes torna isso muito aparente. A desvantagem da pesquisa binária é que seu arquivo deve ser classificado. Se você não quiser classificar seu arquivo, classifique uma cópia dele e use-a com look.

Vamos demonstrar isso em outro lugar neste artigo. Esteja ciente de que no Fedora, Manjaro, e espero que a maior parte do resto do mundo Linux, você precisará criar uma cópia ordenada do seu arquivo e trabalhar com isso.

Instalando palavras

look pode funcionar com qualquer arquivo de texto de sua escolha ou com o arquivo de dicionário local “palavras”.

No Manjaro você precisa instalar o arquivo “palavras”. Use este comando:

sudo pacman -Syu palavras

Usando look

Para este artigo, trabalharemos com um arquivo de texto do poema de Edward Lear “The Jumblies”.

Vejamos seu conteúdo com este comando:

menos the-jumblies.txt

Aqui está a primeira parte do poema. Observe que estamos usando o Ubuntu, então o arquivo permanece sem classificação. Para Fedora e Manjaro, trabalharíamos com uma cópia ordenada do arquivo, que abordaremos posteriormente neste artigo.

Se procurarmos por linhas que começam com a palavra “Eles”, descobriremos um pouco do que os Jumblies fizeram.

olhe para eles o-jumblies.txt

look responde listando estas linhas:

Ignorando maiúsculas e minúsculas

Para lookignorar diferenças entre maiúsculas e minúsculas, use a opção -f(ignorar maiúsculas e minúsculas ). Usamos “they” como a palavra de pesquisa novamente, mas desta vez, está em letras minúsculas.

olhe-se eles o-jumblies.txt

Desta vez, os resultados incluem uma linha extra.

A linha que começa com “ELES” foi perdida no último conjunto de resultados porque está em letras maiúsculas e não corresponde ao nosso termo de pesquisa, “Eles”.

Ignorar maiúsculas e minúsculas permite lookincluí-lo nos resultados.

Usando aparência com um arquivo classificado

Se sua distribuição Linux tiver uma versão lookque segue o comportamento tradicional de usar uma pesquisa binária, você deve classificar seu arquivo ou trabalhar com uma cópia classificada dele.

Vamos repetir o comando para procurar “Eles”, mas desta vez em Manjaro.

Como você pode ver, nenhum resultado foi retornado. Mas sabemos que há versos no poema que começam com a palavra “Eles”.

Vamos fazer uma cópia ordenada do arquivo. Se for usar as opções -f(ignorar maiúsculas e minúsculas) ou -d(caracteres alfanuméricos e espaços apenas) com look, você deve usá-los ao classificar o arquivo.

A -oopção (saída) permite que você especifique o nome do arquivo ao qual as linhas classificadas devem ser adicionadas. Neste exemplo, é “ordenado.txt”.

sort -f -d the-jumblies.txt -o Sort.txt

Vamos usar lookno arquivo Sort.txt e, em seguida, usar as opções -fe -d.

Agora, obtemos os resultados que esperávamos.

Considere apenas espaços e alfanuméricos

Para fazer com que a aparência ignore qualquer coisa que não seja um caractere alfanumérico ou um espaço, use a -dopção (alfanumérico).

Vamos ver se há alguma palavra que comece com “Oh”.

look -f oh the-jumblies.txt

Nenhum resultado é retornado por look.

Vamos tentar novamente e dizer ao look para ignorar qualquer coisa que não seja caracteres alfanuméricos e espaços. Isso significa que caracteres e símbolos, como pontuação, serão ignorados.

look -f -d oh the-jumblies.txt

Desta vez, obtemos um resultado. Não encontramos essa linha antes porque as aspas e o ponto de exclamação confundiram a pesquisa.

Especificando o caractere final

Você pode dizer lookpara usar um caractere específico como caractere de terminação. Normalmente, espaços e finais de linhas são usados ​​como caractere de terminação.

A opção -t(encerrar caractere) nos permite especificar o caractere que gostaríamos de usar. Neste exemplo, vamos usar o caractere apóstrofo. Precisamos citá-lo com uma barra invertida para sabermos que looknão estamos abrindo uma string.

Também citamos o termo de pesquisa porque inclui um espaço. Estamos procurando por duas palavras.

look -f -t \ '"eles chamam de" the-jumblies.txt

Os resultados correspondem ao termo de pesquisa, terminado pelo apóstrofo que usamos como caractere de terminação.

Usando o look sem um arquivo

Se você não fornecer um nome de arquivo na linha de comando, use o arquivo de palavras .

O comando:

dá estes resultados:

Essas são todas as palavras do arquivo que começam com a palavra “círculo”.

não procure mais

Isso é tudo que há para fazer look.

É muito fácil, uma vez que você sabe que existem diferentes comportamentos em diferentes distribuições do Linux, e você concluiu se sua versão usa uma pesquisa binária ou linear.

maisroot

Recent Posts

O novo aplicativo “PC Manager” da Microsoft se parece muito com o CCleaner

Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…

7 meses ago

Como reiniciar um PS4

Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…

7 meses ago

Veja por que as reticências são tão assustadoras ao enviar mensagens de texto…

A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…

7 meses ago

O telescópio James Webb acaba de capturar os “Pilares da Criação”

A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…

7 meses ago

Você poderá baixar o Proton Drive mais cedo do que pensa

O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…

7 meses ago

Como aumentar o zoom no Photoshop

Para ver suas fotos mais de perto ou para uma edição precisa , você pode…

7 meses ago