Cómo usar el comando look en Linux


Linux look El comando recorre en iteración un archivo y enumera todas las líneas que comienzan con una palabra o frase en particular. ¡Pero cuidado! Se comporta de manera diferente en diferentes distribuciones de Linux. Este tutorial le mostrará cómo usarlo.

El comando look de Ubuntu se comporta de manera diferente

Para un pedido simple pero útil, look Ciertamente me dio un torbellino al investigar este artículo. Hubo dos problemas: compatibilidad y documentación.

Este artículo ha sido verificado con Ubuntu, Fedora y Manjaro. look vino con cada una de estas distribuciones, lo cual fue genial. El problema fue que el comportamiento no fue el mismo en los tres. La versión de Ubuntu era muy diferente. De acuerdo a Páginas de manual de Ubuntu, el comportamiento debe ser el mismo.

Finalmente entendí. look utiliza tradicionalmente un búsqueda binaria, mientras que Ubuntu look usa un búsqueda lineal. Las páginas de manual de Ubuntu en línea para Bionic Beaver (18.04), Cosmic Cuttlefish (18.10) y Disco Dingo (19.04) establecen que la versión de Ubuntu usa búsqueda binaria, lo cual no es así.

Si echamos un vistazo a la local Página de manual de Ubuntu, vemos que claramente establece su look utiliza búsqueda lineal. Hay una opción de línea de comando para forzarlo a usar una búsqueda binaria. Ninguna de las versiones de otras distribuciones tiene la capacidad de elegir entre métodos de búsqueda.

man look

Desplazándose hacia abajo en la página del manual, vemos la sección que describe esta versión de look utilizando una búsqueda lineal en lugar de una búsqueda binaria.


La moraleja de la historia es comprobar primero las páginas del manual local.

Búsqueda lineal y búsqueda binaria

El método de búsqueda binaria es más rápido y eficiente que una búsqueda lineal. Trabajar con archivos grandes hace que esto sea muy evidente. La desventaja de la búsqueda binaria es que su archivo debe estar ordenado. Si no desea ordenar su archivo, ordene una copia y luego úsela con look.

Demostraremos esto en otra parte de este artículo. Solo tenga en cuenta que en Fedora, Manjaro y espero que la mayoría del resto del mundo Linux, deberá crear una copia ordenada de su archivo y trabajar con eso.

Instalar palabras

look puede trabajar con cualquier archivo de texto de su elección o con el archivo de diccionario de “palabras” local.

En Manjaro, debe instalar el archivo “palabras”. Utilice este comando:

sudo pacman -Syu words


Usando la mirada

Para este artículo, trabajaremos con un archivo de texto del Edward Lear poema “Los Jumblies”.

En relación :  Cómo utilizar la navegación privada de Safari en un iPhone o iPad

Veamos su contenido con este comando:

less the-jumblies.txt


Aquí está la primera parte del poema. Tenga en cuenta que estamos usando Ubuntu, por lo que el archivo permanece sin clasificar. Para Fedora y Manjaro, trabajaríamos con una copia ordenada del archivo, que cubriremos más adelante en este artículo.

Si buscamos líneas que comiencen con la palabra “Ellos”, descubriremos algo de lo que hicieron los Jumblies.

look They the-jumblies.txt

look responde enumerando estas líneas:


Ignorar mayúsculas y minúsculas

Hacer look ignore las diferencias entre mayúsculas y minúsculas, utilice el -f (ignorar mayúsculas y minúsculas). Usamos “ellos” como nuestra palabra de búsqueda nuevamente, pero esta vez está en minúsculas.

look -f they the-jumblies.txt

Esta vez, los resultados incluyen una fila adicional.

La línea que comienza con “ILS” se omitió en el último conjunto de resultados porque está en mayúsculas y no coincide con nuestro término de búsqueda “Ellos”.

Ignorar mayúsculas y minúsculas permite look para incluirlo en los resultados.

Usar apariencia con un archivo ordenado

Si su distribución de Linux tiene una versión de look que sigue el comportamiento tradicional de usar una búsqueda binaria, debe ordenar su archivo o trabajar con una copia ordenada del mismo.

Repitamos el comando para buscar “Ellos”, pero esta vez en Manjaro.


Como puede ver, no se devolvieron resultados. Pero sabemos que hay líneas en el poema que comienzan con la palabra “Ellos”.

Hagamos una copia ordenada del archivo. Si planea usar el -f (ignorar mayúsculas y minúsculas) o -d (caracteres alfanuméricos y espacios solamente) opciones con look, debe utilizarlos al ordenar el archivo.

los -o La opción (salida) le permite especificar el nombre del archivo al que se agregarán las líneas ordenadas. En este ejemplo, es “sorted.txt”.

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

Usemos look en el archivo sorted.txt, luego use el -f y -d opciones.


Ahora estamos obteniendo los resultados que esperábamos.

Considere solo espacios y caracteres alfanuméricos

Pretender ignorar todo lo que no es un Caracteres alfanuméricos o un espacio, usa el -d opción (alfanumérica).

Veamos si hay palabras que comiencen con “Oh”.

look -f oh the-jumblies.txt

No se devuelven resultados por look.

Intentemos de nuevo y digamos a look que ignore cualquier cosa que no sean caracteres alfanuméricos y espacios. Esto significa que los caracteres y símbolos, como la puntuación, se ignorarán.

look -f -d oh the-jumblies.txt

Esta vez obtenemos un resultado. No hemos encontrado esta línea antes porque las comillas y el signo de exclamación confundieron la búsqueda.

En relación :  Cómo crear documentos de solo lectura que puede abrir sin contraseña en Word


Especificando el carácter final

Puedes decir look para utilizar un carácter específico como carácter final. Por lo general, los espacios y el final de las líneas se utilizan como carácter final.

los -t (carácter final) nos permite especificar el carácter que nos gustaría usar. En este ejemplo, usaremos el carácter de apóstrofo. Tenemos que citarlo con una barra invertida para que look sabe que no estamos abriendo una cadena.

También citamos el término de búsqueda porque incluye un espacio. Buscamos dos palabras.

look -f -t ' "they call" the-jumblies.txt

Los resultados coinciden con el término de búsqueda y terminaron con el apóstrofo que usamos como carácter final.


Usar look sin archivo

Si no proporciona un nombre de archivo en la línea de comando, consulte los usos el archivo de Word.

El comando:


da estos resultados:

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

no busque más

Eso es todo lo que hay para look.

Es bastante fácil una vez que sepa que hay diferentes comportamientos en diferentes distribuciones de Linux y haya determinado si su versión usa búsqueda binaria o lineal.

Moyens Staff
El personal de Moyens I/O lo ha motivado, brindándole consejos sobre tecnología, desarrollo personal, estilo de vida y estrategias que lo ayudarán.