Como usar o comando look no Linux

Conteúdo

Terminal Linux executado em um ambiente de área de trabalho com tema Ubuntu.

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

O comando Look do Ubuntu se comporta de maneira diferente

Para um comando simples, mas útil, look certamente me deu uma sacudida quando estava pesquisando este post. Houve dois problemas: compatibilidade e documentação.

Esta postagem foi verificada com o Ubuntu, Fedora e Manjaro. look foi incluído em cada uma dessas distribuições, que foi ótimo. O problema era que o comportamento não era o mesmo nas três. A versão do Ubuntu era muito diferente. De acordo com Páginas de manual do Ubuntu, o comportamento deve ser o mesmo.

Eventualmente descobri. look tradicionalmente usa um busca binária, enquanto Ubuntu look usa um busca linear. As páginas de manual online do Ubuntu para Bionic Beaver (18.04), Choco Cósmico (18.10) e Disco Dingo (19.04) comentar que a versão do Ubuntu usa uma busca binária, O que não é o caso.

Se dermos uma olhada no local Página de manual do Ubuntu, vemos que ele afirma claramente seu look use uma busca linear. Existe uma opção na linha de comando para forçá-lo a usar uma pesquisa binária. Nenhuma das versões das outras distribuições tem a opção de selecionar entre os métodos de pesquisa.

homem olha

Rolando para baixo na página do manual, Vemos a seção que descreve esta versão do look usando pesquisa linear em vez de binária.

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

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 óbvio. A desvantagem da pesquisa binária é que seu arquivo deve ser classificado. Se você não quiser pedir seu arquivo, peça uma cópia e use-a com look.

Vamos demonstrar isso em outra parte deste post.. Basta ter em mente que no Fedora, Manjaro e eu esperamos que a maior parte do resto do mundo Linux, você precisará criar uma cópia limpa do seu arquivo e trabalhar com isso.

Instalando palavras

look pode trabalhar com qualquer arquivo de texto que você escolher, o puede funcionar con el archivo de diccionario local “palavras”.

En Manjaro necesitas instalar el archivo “palavras”. Use este comando:

sudo pacman -Syu palavras

Usando o olhar

Para esta postagem, vamos trabalhar com um arquivo de texto do Edward Lear poemaLos Jumblies”.

Vamos ver 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 categoria. Para Fedora e Manjaro, nós trabalharíamos com uma cópia limpa do arquivo, que iremos cobrir mais tarde neste post.

Se procurarmos por linhas que começam com a palavra "Eles", vamos descobrir o que os Jumblies fizeram.

olhe para eles o-jumblies.txt

look responda listando essas linhas:

Ignorando o caso do personagem

Para fazer look ignore as diferenças entre maiúsculas e minúsculas, use o -f (ignorar maiúsculas e minúsculas). Hemos usado “eles” como la palabra de búsqueda nuevamente, mas esta vez, está em minúsculas.

olhe-se eles o-jumblies.txt

Desta vez, os resultados incluem uma linha adicional.

La línea que comienza conELLOSse omitió en el último conjunto de resultados debido a que está en mayúsculas y no coincide con nuestro término de búsqueda, “Eles”.

Ignorar o caso torna isso possível look para incorporá-lo aos resultados.

Use a aparência com um arquivo organizado

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

Repitamos el comando para buscar “Eles”, mas desta vez em Manjaro.

Como você pode ver, nenhum resultado foi retornado. Pero sabemos que hay líneas en el poema que comienzan con la palabra “Eles”.

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

a -o Opção (Saída) permite que você especifique o nome do arquivo ao qual as linhas ordenadas devem ser adicionadas. Neste exemplo, isto é “ordenado.txt”.

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

Vamos usar look no arquivo Sort.txt e, em seguida, use o -f e -d opções.

Agora, nós obtemos os resultados que esperávamos.

Considere apenas espaços e alfanuméricos

Para fazer parecer que ignora tudo, menos um caracteres alfanuméricos ou um espaço, use o -d Opção (alfanumérico).

Veamos si hay alguna palabra que comience con “Oh”.

look -f oh the-jumblies.txt

Nenhum resultado é retornado para look.

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

look -f -d oh the-jumblies.txt

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

Especificando o caractere de terminação

Pode dizer look usar um personagem específico como personagem final. Em geral, espaços e fim de linha são usados ​​como caractere final.

a -t Opção (terminar personagem) nos permite especificar o caractere que gostaríamos de usar. Neste exemplo, vamos usar o caractere apóstrofo. Precisamos citar você com uma barra invertida para que look sabe que não estamos abrindo uma corrente.

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

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

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

Use look sem arquivo

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

O comando:

dá esses resultados:

Estas son todas las palabras del archivo que comienzan con la palabra “círculo”.

não procure mais

Isso é tudo que há para look.

É muito simples, uma vez que você sabe que existem diferentes comportamentos em diferentes distribuições Linux, e atingiu o fundo do poço se sua versão usar uma pesquisa binária ou linear.

setTimeout(função(){
!função(f,b,e,v,n,t,s)
{E se(f.fbq)Retorna;n = f.fbq = função(){n.callMethod?
n.callMethod.apply(n,argumentos):n.queue.push(argumentos)};
E se(!f._fbq)f._fbq = n;n.push = n;n.loaded =!0;n.version = ’2.0′;
n.queue =[];t = b.createElement(e);t.async =!0;
t.src = v;s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, documento,'roteiro',
‘Https://connect.facebook.net/en_US/fbevents.js ’);
fbq('iniciar', ‘335401813750447’);
fbq('acompanhar', ‘PageView’);
},3000);

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.