Come usare il comando look in Linux

Contenuti

Terminale Linux in esecuzione in un ambiente desktop a tema Ubuntu.

El Linux look Il comando scorre un file ed elenca tutte le righe che iniziano con una particolare parola o frase. Ma attenzione! Si comporta in modo diverso su diverse distribuzioni Linux. Questo tutorial ti mostrerà come usarlo.

Il comando Look di Ubuntu si comporta in modo diverso

Per un semplice comando, ma utile, look mi ha sicuramente dato una svolta quando stavo facendo ricerche su questo post. C'erano due problemi: compatibilità e documentazione.

Questo post è stato verificato con Ubuntu, Fedora e Manjaro. look è stato incluso in ciascuna di queste distribuzioni, che è stato fantastico. Il problema era che il comportamento non era lo stesso in tutti e tre. La versione di Ubuntu era molto diversa. Secondo il Pagine man di Ubuntu, il comportamento dovrebbe essere lo stesso.

Alla fine l'ho scoperto. look usa tradizionalmente a ricerca binaria, mentre Ubuntu look usa a ricerca lineare. Le manpage online di Ubuntu per Bionic Beaver (18.04), Seppie Cosmiche (18.10) e Disco Dingo (19.04) commenta che la versione di Ubuntu usa una ricerca binaria, che non è il caso.

Se diamo un'occhiata al Locale Pagina man di Ubuntu, vediamo che afferma chiaramente la sua look usa una ricerca lineare. C'è un'opzione sulla riga di comando per forzare l'uso di una ricerca binaria. Nessuna versione delle altre distribuzioni ha un'opzione per selezionare tra i metodi di ricerca.

guarda l'uomo

Scorrendo la pagina man, Vediamo la sezione che descrive questa versione di look utilizzando la ricerca lineare anziché binaria.

La morale della storia è controllare prima le pagine man locali..

Ricerca lineare e ricerca binaria

Il metodo di ricerca binaria è più veloce ed efficiente di una ricerca lineare. Lavorare con file di grandi dimensioni lo rende molto ovvio. Lo svantaggio della ricerca binaria è che il tuo file deve essere ordinato. Se non vuoi ordinare il tuo file, ordina una copia e poi usala con look.

Lo dimostreremo in un'altra parte di questo post.. Tieni presente che in Fedora, Manjaro e spero che la maggior parte del resto del mondo Linux, dovrai creare una copia ordinata del tuo file e lavorarci sopra.

Installazione di parole

look può funzionare con qualsiasi file di testo che scegli, o puede funcionar con el archivo de diccionario local “parole”.

En Manjaro necesitas instalar el archivo “parole”. Usa questo comando:

sudo pacman -parole Syu

Usando lo sguardo

Per questo post, lavoreremo con un file di testo del Edward Lear poemaLos Jumblies”.

Vediamo il suo contenuto con questo comando:

meno the-jumblies.txt

Ecco la prima parte della poesia. Si prega di notare che stiamo usando Ubuntu, quindi il file rimane non categorizzato. Per Fedora e Manjaro, lavoreremmo con una copia ordinata del file, che tratteremo più avanti in questo post.

Se cerchiamo le righe che iniziano con la parola "Loro", scopriremo qualcosa di quello che hanno fatto i Jumblies.

guarda Loro i-jumblies.txt

look rispondi elencando queste righe:

Ignorando il caso del personaggio

Produrre look ignora le differenze tra maiuscole e minuscole, utilizzare il -f (ignora maiuscole e minuscole). Hemos usado “loro” como la palabra de búsqueda nuevamente, ma questa volta, è in minuscolo.

guarda -f loro-jumblies.txt

Questa volta, i risultati includono una riga aggiuntiva.

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, “Loro”.

Ignorare il caso lo rende possibile look per incorporarlo nei risultati.

Usa l'aspetto con un file pulito

Se la tua distribuzione Linux ha una versione di look che segue il comportamento tradizionale dell'utilizzo di una ricerca binaria, devi ordinare il tuo file o lavorare con una copia ordinata di esso.

Repitamos el comando para buscar “Loro”, ma questa volta a Manjaro.

Come potete vedere, nessun risultato è stato restituito. Pero sabemos que hay líneas en el poema que comienzan con la palabra “Loro”.

Facciamo una copia ordinata del file. Se hai intenzione di usare il -f (ignora maiuscole e minuscole) oh -d (solo caratteri alfanumerici e spazi) opzioni con look, dovresti usarli quando ordini il file.

il -o L'opzione (Uscita) consente di specificare il nome del file a cui devono essere aggiunte le righe ordinate. In questo esempio, è “sorted.txt”.

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

Usiamo look nel file sorted.txt e poi usa il tasto -f e -d opzioni.

Ora, otteniamo i risultati che ci aspettavamo.

Considera solo spazi e caratteri alfanumerici

Per far sembrare che ignori tutto tranne che a caratteri alfanumerici o uno spazio, utilizzare il -d Opzione (alfanumerico).

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

guarda -f oh the-jumblies.txt

Nessun risultato viene restituito per look.

Riproviamo e diciamo a look di ignorare qualsiasi cosa diversa da caratteri alfanumerici e spazi. Ciò significa che caratteri e simboli verranno ignorati, come il punteggio.

guarda -f -d oh the-jumblies.txt

Questa volta, otteniamo un risultato. Non abbiamo trovato questa riga prima perché le virgolette e il punto esclamativo hanno confuso la ricerca.

Specificare il carattere di terminazione

Si può dire look usare un carattere specifico come carattere finale. Generalmente, gli spazi e la fine delle righe sono usati come carattere finale.

il -t L'opzione (carattere finale) ci permette di specificare il carattere che vorremmo usare. In questo esempio, useremo il carattere apostrofo. Dobbiamo citarti con una barra rovesciata in modo che look sa che non stiamo aprendo una catena.

Citiamo anche il termine di ricerca perché include uno spazio. Cerchiamo due parole.

guarda -f -t ' "chiamano" the-jumblies.txt

I risultati corrispondono al termine di ricerca, terminato dall'apostrofo che usiamo come carattere di terminazione.

Usa look senza file

Se non fornisci un nome file sulla riga di comando, cercare usi il file di parole.

Il comando:

dà questi risultati:

Estas son todas las palabras del archivo que comienzan con la palabra “cerchio”.

non guardare oltre

Questo è tutto quello che c'è da fare look.

È abbastanza semplice una volta che sai che ci sono comportamenti diversi su diverse distribuzioni Linux, e ha toccato il fondo se la tua versione utilizza una ricerca binaria o lineare.

impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.