Header Ads

Como usar o comando look no Linux

O comando look 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 do Linux. Este tutorial mostrará como usá-lo.

O comando do Ubuntu parece se comportar de maneira diferente

Para um comando simples, mas útil, olhe certamente me deu uma reviravolta quando eu estava pesquisando este artigo. Houve dois problemas: compatibilidade e documentação.

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

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

uma olhada na página man do Ubuntu local, vemos claramente que a sua aparência usa uma busca 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.

 o homem olha 

Deslocando a página de manual , vemos a seção que descreve esta versão da aparência usando uma pesquisa linear em vez de binária.

A moral da história é verificar as páginas do manual local primeiro.

Pesquisa Linear versus Pesquisa Binária

O método de busca binária é mais rápido e mais eficiente que uma busca 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-o e use-o com aparência.

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

Instalando as palavras

]

o look pode trabalhar com qualquer arquivo de texto que você escolher, ou ele pode trabalhar com o arquivo de dicionário local “words.”

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

[PRÉ] sudo pacman -Syu palavras

Usando look

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

Vamos olhar seu conteúdo com este comando:

 menos o-jumblies.txt [/ PRE ] 

Aqui está a primeira parte do poema. Note que estamos usando o Ubuntu, então o arquivo permanece sem classificação. Para o Fedora e o Manjaro, trabalhamos com uma cópia ordenada do arquivo, que abordaremos mais adiante neste artigo.

Se procurarmos linhas que começam com a palavra "Eles", vamos descobrir um pouco do que os Jumblies fizeram.

 olhar Eles the-jumblies.txt 

look responde listando estas linhas:

Ignorando o caso de caractere

Para ignorar as diferenças entre maiúsculas e minúsculas, use o -f (ignore caso). Usamos "eles" como a palavra de pesquisa novamente, mas, desta vez, ela está em letras minúsculas.

 olha -f eles the-jumblies.txt 

Desta vez, os resultados incluem uma linha extra.

A linha que começa com "THEY" foi perdida no último conjunto de resultados porque está em todos em maiúsculas e não correspondiam ao nosso termo de pesquisa "Eles".

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

Usar aparência com um arquivo classificado

Se a sua distribuição Linux tiver uma versão de aparência que segue o comportamento tradicional de usar uma pesquisa binária, você deve ordenar seu arquivo ou trabalhar com uma cópia ordenada.

Vamos repetir o comando para pesquisar para "Eles", mas desta vez no Manjaro.

 

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

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

A opção -o (saída) permite que você especifique o nome do arquivo ao qual as linhas ordenadas devem ser adicionadas. Neste exemplo, é "sorted.txt".

 classifique -f -d the-jumblies.txt -o sorted.txt 

Vamos usar a aparência no arquivo sorted.txt e, em seguida, usar as opções -f e -d.

Agora, obtemos os resultados esperados.

Considere apenas espaços e alfanuméricos

Para ignorar qualquer coisa que não seja um caractere alfanumérico ou um espaço, use a opção -d (alfanumérica).

Vamos ver se existem palavras que começam com "Oh".

 olhe -f oh the-jumblies.txt 

IMAGEM_12

Nenhum resultado é retornado por look.

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

 olhe -f -d oh the-jumblies.txt 

IMAGEM_13

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

Especificando o caractere de terminação

Você pode informar para use um caractere específico como o caractere de terminação. Geralmente, os espaços e o final das linhas são usados ​​como caractere de término.

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

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

 olhe -f -t \ '"eles chamam de" o-jumblies.txt 

os resultados correspondem ao termo de pesquisa, terminado pelo apóstrofo que usamos como caractere de término.

Usando a aparência sem um arquivo

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

O comando:

 

fornece estes resultados:

Estas são todas as palavras do arquivo que começam com a palavra "círculo".

Não procure mais

Isso é tudo o que há para procurar.

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

Via: How to Geek

Veja Também:

Nenhum comentário