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.txtIMAGEM_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.txtIMAGEM_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