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 poema “Los 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 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, “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);