/ / Sådan bruges look-kommandoen på Linux

Sådan bruges look-kommandoen på Linux

Linux-terminal, der kører på et desktop-miljø med Ubuntu-tema.

Linux look kommando løber gennem en fil og viser allelinjer, der begynder med et bestemt ord eller en sætning. Men pas på! Det opfører sig forskelligt på forskellige Linux-distributioner. Denne tutorial viser dig, hvordan du bruger den.

Ubuntu's look Kommando opfører sig forskelligt

For en enkel, men nyttig kommando, look bestemt gav mig løbet, da jeg undersøgte denne artikel. Der var to problemer: kompatibilitet og dokumentation.

Denne artikel blev kontrolleret ved hjælp af Ubuntu, Fedora og Manjaro. look blev samlet med hver af disse distributioner,hvilket var fantastisk. Problemet var opførslen var ikke den samme i alle tre. Ubuntu-versionen var meget anderledes. Ifølge Ubuntu Manpages skal opførslen være den samme.

Til sidst regnede jeg med det. look traditionelt bruger en binær søgning, mens Ubuntu look bruger en lineær søgning. De online Ubuntu-mandssider til Bionic Beaver (18.04), Cosmic Cuttlefish (18.10) og Disco Dingo (19.04) siger alle, at Ubuntu-versionen bruger en binær søgning, hvilket ikke er tilfældet.

Hvis vi ser på lokal Ubuntu mand side, vi ser det klart angiver deres look bruger en lineær søgning. Der er en kommandolinieindstilling til at tvinge den til at bruge en binær søgning. Ingen af ​​versionerne i de andre distributioner har mulighed for at vælge mellem søgemetoder.

man look

"mand look" i et terminalvindue.

Rulle ned gennem man-siden, ser vi det afsnit, der beskriver denne version af look ved hjælp af en lineær i stedet for binær søgning.

Ubuntu look-man-side i et terminalvindue.

Historiens moral er at tjekke de lokale mandssider først.

Lineær søgning versus binær søgning

Den binære søgemetode er hurtigere og mereeffektiv end en lineær søgning. Arbejde med store filer gør dette meget tydeligt. Ulempen med den binære søgning er, at din fil skal sorteres. Hvis du ikke ønsker at sortere din fil, skal du sortere en kopi af den og derefter bruge den sammen med look.

Vi demonstrerer dette andetsteds i denne artikel. Bare vær opmærksom på, at på Fedora, Manjaro, og jeg forventer, at det meste af resten af ​​Linux-verdenen, skal du oprette en sorteret kopi af din fil og arbejde med den.

Installation af ord

look kan arbejde med en hvilken som helst tekstfil du vælger, eller den kan arbejde med den lokale ordbogsfil “ord”.

På Manjaro skal du installere "ord" -filen. Brug denne kommando:

sudo pacman -Syu words

"sudo pacman -Yy ord" i et terminalvindue.

Brug af look

Til denne artikel arbejder vi med en tekstfil fra Edward Lear-digtet "The Jumblies."

Lad os se på indholdet med denne kommando:

less the-jumblies.txt

"mindre the-jumblies.txt" i et terminalvindue.

Her er den første del af digtet. Bemærk, at vi bruger Ubuntu, så filen forbliver usorteret. For Fedora og Manjaro vil vi arbejde med en sorteret kopi af filen, som vi vil dække senere i denne artikel.

"The Jumblies" i mindre i et terminalvindue.

Hvis vi ser efter linjer, der starter med ordet "De", finder vi ud af noget af hvad Jumblies gjorde.

look They the-jumblies.txt

"look They the-jumblies.txt" i et terminalvindue.

look svarer ved at angive disse linjer:

Output fra "look They the-jumblies.txt" i et terminalvindue.

Ignorerer karaktertegn

At lave look ignorere forskelle mellem store og små bogstaver, brug -f (ignorere sag) mulighed. Vi har brugt "de" som søgeord igen, men denne gang er det med små bogstaver.

look -f they the-jumblies.txt

se -om de the-jumblies.txt i et terminalvindue.

Denne gang inkluderer resultaterne en ekstra linje.

Output fra "look -f they the-jumblies.txt" i et terminalvindue.

Linjen, der begynder med "DE", blev savnet i det sidste sæt resultater, fordi det er i alt store bogstaver og ikke stemte overens med vores søgeterm, "De."

Ignorering af sagen tillader det look at medtage det i resultaterne.

Brug af look med en sorteret fil

Hvis din Linux-distribution har en version af look der følger den traditionelle opførsel ved at bruge en binær søgning, skal du enten sortere din fil eller arbejde med en sorteret kopi af den.

Lad os gentage kommandoen til at søge efter "De", men denne gang på Manjaro.

se De the-jumblies.txt i et terminalvindue.

Som du kan se, blev der ikke returneret nogen resultater. Men vi ved, at der er linjer i digtet, der starter med ordet, "De."

Lad os lave en sorteret kopi af filen. Hvis du vil bruge -f (ignorere sag) eller -d (kun alfanumeriske tegn og mellemrum) med look, skal du bruge dem, når du sorterer filen.

Det -o (output) -mulighed giver dig mulighed for at specificere navnet på den fil, de sorterede linjer skal føjes til. I dette eksempel er det "sorteret.txt."

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

sorter -f -d the-jumblies.txt -o sorted.txt i et terminalvindue.

Lad os bruge look på filen sorteret.txt, og brug derefter -f og -d muligheder.

sorter -f -d the-jumblies.txt -o sorted.txt i et terminalvindue.

Nu får vi de forventede resultater.

Overvej kun mellemrum og alfanumerik

For at få et look til at ignorere noget, der ikke er et alfanumerisk tegn eller et mellemrum, skal du bruge -d (alfanumerisk) mulighed.

Lad os se, om der er nogen ord, der starter med, "Åh."

look -f oh the-jumblies.txt

kig -f oh the-jumblies.txt i et terminalvindue.

Ingen resultater returneres af look.

Lad os prøve igen og fortæl look om at ignorere andet end alfanumeriske tegn og mellemrum. Det betyder, at tegn og symboler, såsom tegnsætning, ignoreres.

look -f -d oh the-jumblies.txt

se -f -d oh the-jumblies.txt i et terminalvindue.

Denne gang får vi et resultat. Vi fandt ikke denne linje før, fordi anførselstegn og udråbstegn forvirrede søgningen.

Output fra "look -f -d oh the-jumblies.txt" i et terminalvindue.

Specificering af terminerende karakter

Du kan fortælle det look at bruge en bestemt karakter som den afsluttende karakter. Normalt bruges mellemrum og ende af linjer som den afsluttende karakter.

Det -t (termineringstegn) kan vi specificere det tegn, vi gerne vil bruge. I dette eksempel bruger vi apostrofkarakteren. Vi er nødt til at citere det med en baglæns skråstreg, så look ved, at vi ikke åbner en streng.

Vi citerer også søgeudtrykket, fordi det inkluderer et mellemrum. Vi søger efter to ord.

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

se -f-t '"de kalder" the-jumblies.txt i et terminalvindue.

Resultaterne matcher søgetermen, afsluttet med den apostrof, vi brugte som den afsluttende karakter.

Output fra "look -f -t '" kalder de "the-jumblies.txt" i et terminalvindue.

Brug af look uden en fil

Hvis du ikke angiver et filnavn på kommandolinjen, skal du bruge ordene fil.

Kommandoen:

"lookcirkel" i et terminalvindue.

giver disse resultater:

"lookcirkel" resulterer i et terminalvindue.

Dette er alle ordene i filen, der begynder med ordet "cirkel."

stop med at lede

Det er alt, hvad der er at gøre look.

Det er temmelig let, når du ved, at der er forskellige opførsler på tværs af forskellige Linux-distributioner, og du er bundet til, om din version bruger en binær eller lineær søgning.