A Linux look parancs végigszáguld egy fájlon, és felsorolja az összes olyan sort, amely egy adott szóval vagy kifejezéssel kezdődik. De vigyázz! Különböző Linux-disztribúciókban eltérően viselkedik. Ez az oktatóanyag megmutatja, hogyan kell használni.
Tartalomjegyzék
Az Ubuntu kinézete Command másként viselkedik
Egy egyszerű, de hasznos parancshoz a megjelenés minden bizonnyal elszabadult, amikor e cikkben kutattam. Két probléma volt: a kompatibilitás és a dokumentáció.
Ezt a cikket Ubuntu, Fedora és Manjaro segítségével ellenőriztük. look mindegyik disztribúcióhoz mellékelve volt, ami nagyszerű volt. A probléma az volt, hogy a viselkedés nem volt egyforma mindhárom esetében. Az Ubuntu verzió egészen más volt. Szerint a Ubuntu kézikönyvek, a viselkedésnek azonosnak kell lennie.
Végül rájöttem. megjelenés hagyományosan használja a bináris keresés, míg az Ubuntu look a lineáris keresés. A Bionic Beaver (18.04), a Cosmic Cuttlefish (18.10) és a Disco Dingo (19.04) Ubuntu kézikönyve mind azt írja, hogy az Ubuntu verzió bináris keresést használ, ami nem így van.
Ha megnézzük a helyi Ubuntu kézikönyvoldalt, azt látjuk, hogy egyértelműen kijelenti, hogy a megjelenésük lineáris keresést használ. Van egy parancssori opció, amellyel bináris keresésre kényszerítheti. A többi disztribúció egyik verziójában sem választható a keresési módok között.
man look
A kézikönyvoldalon lefelé görgetve azt a részt látjuk, amely a bináris keresés helyett lineárist használó megjelenési változatot írja le.
A történet lényege, hogy először ellenőrizzük a helyi kézikönyvoldalakat.
Lineáris keresés versus bináris keresés
A bináris keresési módszer gyorsabb és hatékonyabb, mint a lineáris keresés. Ha nagy fájlokkal dolgozik, ez nagyon nyilvánvalóvá válik. A bináris keresés hátránya, hogy a fájlt rendezni kell. Ha nem szeretné rendezni a fájlt, rendezze be a másolatot, majd használja kinézettel.
Ezt ebben a cikkben máshol is bemutatjuk. Legyen tudatában annak, hogy a Fedora, Manjaro és szerintem a Linux világ többi részén is létre kell hoznia egy rendezett másolatot a fájlról, és ezzel kell dolgoznia.
Szavak telepítése
A kinézet bármilyen kiválasztott szövegfájllal, vagy a „words” helyi szótárfájllal működhet.
A Manjaro-n telepítenie kell a „word” fájlt. Használja ezt a parancsot:
sudo pacman -Syu words
Kinézet használata
Ebben a cikkben a szövegfájllal fogunk dolgozni Edward Lear „The Jumblies” című vers.
Nézzük meg a tartalmát ezzel a paranccsal:
less the-jumblies.txt
Íme a vers első része. Ne feledje, hogy Ubuntut használunk, így a fájl rendezetlen marad. A Fedora és a Manjaro esetében a fájl rendezett másolatával dolgoznánk, amivel ebben a cikkben később foglalkozunk.
Ha olyan sorokat keresünk, amelyek az „ők” szóval kezdődnek, megtudunk néhányat abból, amit a Jumblies-ek műveltek.
look They the-jumblies.txt
A look a következő sorok felsorolásával válaszol:
A karakterbetűk figyelmen kívül hagyása
A kis- és nagybetűk közötti különbségek figyelmen kívül hagyásához használja a -f (kis- és nagybetűk figyelmen kívül hagyása) opciót. Ismét az „ők” szót használtuk keresőszóként, de ezúttal kisbetűvel írjuk.
look -f they the-jumblies.txt
Ezúttal az eredmények egy extra sort is tartalmaznak.
Az „ŐK” szóval kezdődő sor kimaradt az utolsó találati csoportból, mert csupa nagybetűvel van írva, és nem egyezik a keresési kifejezésünkkel, az „Ők”.
A kis- és nagybetűk figyelmen kívül hagyása lehetővé teszi, hogy a kitekintés belefoglalja az eredményekbe.
Megjelenés használata rendezett fájllal
Ha a Linux disztribúció olyan verziója van, amely követi a bináris keresés hagyományos viselkedését, akkor vagy rendeznie kell a fájlt, vagy dolgoznia kell annak rendezett másolatával.
Ismételjük meg a parancsot az „Ők” keresésére, de ezúttal a Manjaro-n.
Mint látható, nem érkezett vissza eredmény. De tudjuk, hogy a versben vannak olyan sorok, amelyek az „ők” szóval kezdődnek.
Készítsünk egy rendezett másolatot a fájlról. Ha a -f (kis- és nagybetűk figyelmen kívül hagyása) vagy a -d (csak alfanumerikus karakterek és szóközök) opciókat kívánja használni a megjelenéshez, akkor ezeket kell használnia a fájl rendezésekor.
A -o (output) opció lehetővé teszi annak a fájlnak a nevét, amelyhez hozzá kell adni a rendezett sorokat. Ebben a példában ez a „sorted.txt”.
sort -f -d the-jumblies.txt -o sorted.txt
Használjuk a look-ot a sorted.txt fájlon, majd használjuk az -f és -d opciókat.
Most azt az eredményt kaptuk, amit vártunk.
Csak a szóközöket és az alfanumerikus karaktereket vegye figyelembe
Hogy nézzenek, figyelmen kívül hagyjanak mindent, ami nem alfanumerikus karakter vagy szóközt, használja a -d (alfanumerikus) kapcsolót.
Lássuk, vannak-e olyan szavak, amelyek az „Ó”-val kezdődnek.
look -f oh the-jumblies.txt
Megtekintéssel nem adnak vissza eredményeket.
Próbáljuk újra, és mondjuk a look-nak, hogy az alfanumerikus karaktereken és szóközökön kívül semmi mást figyelmen kívül hagyjon. Ez azt jelenti, hogy a rendszer figyelmen kívül hagyja a karaktereket és szimbólumokat, például az írásjeleket.
look -f -d oh the-jumblies.txt
Ezúttal eredményt kapunk. Ezt a sort korábban nem találtuk, mert az idézőjel és a felkiáltójel megzavarta a keresést.
A befejező karakter megadása
Megadhatja, hogy a look egy adott karaktert használjon befejező karakterként. Általában a szóközt és a sorvéget használják záró karakterként.
A -t (karakter befejezése) opció lehetővé teszi, hogy megadjuk a használni kívánt karaktert. Ebben a példában az aposztróf karaktert fogjuk használni. Fordított perjellel kell idéznünk, hogy a megjelenés tudja, hogy nem egy karakterláncot nyitunk meg.
A keresett kifejezést is idézzük, mert szóközt tartalmaz. Két szót keresünk.
look -f -t ' "they call" the-jumblies.txt
A találatok megegyeznek a keresett kifejezéssel, amelyet a befejező karakterként használt aposztróf zár le.
Fájl nélküli megjelenés használata
Ha nem ad meg fájlnevet a parancssorban, nézze meg a uses-t a szavak fájl.
A parancs:
ezeket az eredményeket adja:
Ezek mind a „kör” szóval kezdődő szavak a fájlban.
ne nézz tovább
Csak ennyit kell nézni.
Ez nagyon egyszerű, ha tudja, hogy a különböző Linux-disztribúciók eltérő viselkedést mutatnak, és elérte, hogy a verziója bináris vagy lineáris keresést használ-e.