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 poema “Los 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 con “ELLOS” se 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);