Verwendung des Befehls look unter Linux


Linux look Der Befehl durchläuft eine Datei und listet alle Zeilen auf, die mit einem bestimmten Wort oder einer bestimmten Phrase beginnen. Aber Vorsicht! Es verhält sich auf verschiedenen Linux-Distributionen unterschiedlich. Dieses Tutorial zeigt Ihnen, wie Sie es verwenden.

Ubuntus Look-Befehl verhält sich anders

Für eine einfache, aber nützliche Bestellung, look Sicherlich gab mir der Wirbelwind bei der Recherche dieses Artikels. Es gab zwei Probleme: Kompatibilität und Dokumentation.

Dieser Artikel wurde mit Ubuntu, Fedora und Manjaro verifiziert. look kam mit jedem dieser Distributionen, was großartig war. Das Problem war, dass das Verhalten nicht bei allen drei gleich war. Die Ubuntu-Version war sehr unterschiedlich. Gemäß Ubuntu Manpagesmuss das Verhalten das gleiche sein.

Ich habe es endlich verstanden. look verwendet traditionell a binäre Suche, während Ubuntu look verwendet a lineare Suche. Die Online-Ubuntu-Manpages für Bionic Beaver (18.04), Cosmic Cuttlefish (18.10) und Disco Dingo (19.04) geben alle an, dass die Ubuntu-Version die binäre Suche verwendet, was nicht der Fall ist.

Wenn wir uns das ansehen lokal Ubuntu Manpage, wir sehen, dass es klar angibt, ihre look verwendet die lineare Suche. Es gibt eine Befehlszeilenoption, um die Verwendung einer binären Suche zu erzwingen. Keine der Versionen anderer Distributionen kann zwischen Suchmethoden wählen.

man look

Wenn Sie die Manpage nach unten scrollen, sehen Sie den Abschnitt, der diese Version von beschreibt look Verwenden einer linearen Suche anstelle einer binären Suche.


Die Moral der Geschichte besteht darin, zuerst die lokalen Manpages zu überprüfen.

Lineare Suche und binäre Suche

Die binäre Suchmethode ist schneller und effizienter als eine lineare Suche. Die Arbeit mit großen Dateien macht dies sehr deutlich. Der Nachteil der binären Suche ist, dass Ihre Datei sortiert werden muss. Wenn Sie Ihre Datei nicht sortieren möchten, sortieren Sie eine Kopie und verwenden Sie sie dann mit look.

Wir werden dies an anderer Stelle in diesem Artikel demonstrieren. Beachten Sie jedoch, dass Sie unter Fedora, Manjaro und dem größten Teil der übrigen Linux-Welt eine sortierte Kopie Ihrer Datei erstellen und damit arbeiten müssen.

Installieren Sie Wörter

look kann mit jeder Textdatei Ihrer Wahl oder mit der lokalen Wörterbuchdatei „Wörter“ arbeiten.

Auf Manjaro müssen Sie die Datei “words” installieren. Verwenden Sie diesen Befehl:

sudo pacman -Syu words


Mit dem Look

Für diesen Artikel arbeiten wir mit einer Textdatei aus dem Edward Lear Gedicht “The Jumblies”.

Schauen wir uns den Inhalt mit diesem Befehl an:

less the-jumblies.txt


Hier ist der erste Teil des Gedichts. Beachten Sie, dass wir Ubuntu verwenden, sodass die Datei unsortiert bleibt. Für Fedora und Manjaro würden wir mit einer sortierten Kopie der Datei arbeiten, die wir später in diesem Artikel behandeln werden.

verbunden :  Undichtigkeiten des Moto G9 Plus mit 6,81-Zoll-Display, großem Akku und mehr

Wenn wir nach Zeilen suchen, die mit dem Wort “Sie” beginnen, werden wir herausfinden, was die Jumblies getan haben.

look They the-jumblies.txt

look antwortet mit der Auflistung dieser Zeilen:


Groß- und Kleinschreibung ignorieren

Machen look Ignorieren Sie die Unterschiede zwischen Groß- und Kleinschreibung -f Option (Groß- / Kleinschreibung ignorieren). Wir haben wieder “sie” als Suchwort verwendet, aber diesmal ist es Kleinbuchstaben.

look -f they the-jumblies.txt

Dieses Mal enthalten die Ergebnisse eine zusätzliche Zeile.

Die Zeile, die mit „ILS“ beginnt, wurde in der letzten Ergebnismenge übersehen, da sie in allen Hauptstädten steht und nicht mit unserem Suchbegriff „They“ übereinstimmt.

Fall ignorieren erlaubt look um es in die Ergebnisse aufzunehmen.

Verwenden des Erscheinungsbilds mit einer sortierten Datei

Wenn Ihre Linux-Distribution eine Version von hat look Nach dem traditionellen Verhalten einer binären Suche müssen Sie entweder Ihre Datei sortieren oder mit einer sortierten Kopie davon arbeiten.

Wiederholen wir den Befehl, um nach “Sie” zu suchen, diesmal jedoch auf Manjaro.


Wie Sie sehen können, wurden keine Ergebnisse zurückgegeben. Aber wir wissen, dass das Gedicht Zeilen enthält, die mit dem Wort “Sie” beginnen.

Lassen Sie uns eine sortierte Kopie der Datei erstellen. Wenn Sie vorhaben, die -f (Groß- / Kleinschreibung ignorieren) oder -d (nur alphanumerische Zeichen und Leerzeichen) Optionen mit lookmüssen Sie sie verwenden, wenn Sie die Datei sortieren.

Das -o Mit der Option (Ausgabe) können Sie den Namen der Datei angeben, an die die sortierten Zeilen angehängt werden sollen. In diesem Beispiel ist es “sortiert.txt”.

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

Lassen Sie uns verwenden look Verwenden Sie dann in der Datei sorted.txt die -f und -d Optionen.


Jetzt erhalten wir die erwarteten Ergebnisse.

Berücksichtigen Sie nur Leerzeichen und alphanumerische Zeichen

So zu tun, als würde man alles ignorieren, was nicht a Alphanumerisches Zeichen oder ein Leerzeichen, verwenden Sie die -d Option (alphanumerisch).

Mal sehen, ob es Wörter gibt, die mit “Oh” beginnen.

look -f oh the-jumblies.txt

Es werden keine Ergebnisse von zurückgegeben look.

Versuchen wir es noch einmal und sagen Sie, dass Sie alles andere als alphanumerische Zeichen und Leerzeichen ignorieren sollen. Dies bedeutet, dass Zeichen und Symbole wie Interpunktion ignoriert werden.

look -f -d oh the-jumblies.txt

Diesmal bekommen wir ein Ergebnis. Wir haben diese Zeile noch nicht gefunden, da die Anführungszeichen und das Ausrufezeichen die Suche verwirrten.


Angabe des Endzeichens

Sie können sagen look ein bestimmtes Zeichen als Endzeichen verwenden. Normalerweise werden Leerzeichen und das Zeilenende als Endzeichen verwendet.

verbunden :  So reparieren Sie Ihre Tastatur, indem Sie Zahlen anstelle von Buchstaben eingeben

Das -t (Endzeichen) ermöglicht es uns, das Zeichen anzugeben, das wir verwenden möchten. In diesem Beispiel verwenden wir das Apostrophzeichen. Wir müssen es mit einem Backslash zitieren, damit look weiß, dass wir keine Kette öffnen.

Wir zitieren auch den Suchbegriff, weil er ein Leerzeichen enthält. Wir suchen zwei Wörter.

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

Die Ergebnisse stimmen mit dem Suchbegriff überein, der mit dem Apostroph endet, das wir als Endzeichen verwendet haben.


Verwenden Sie Look ohne Datei

Wenn Sie in der Befehlszeile keinen Dateinamen angeben, überprüfen Sie die Verwendung die Wortdatei.

Der Befehl:


gibt diese Ergebnisse:

Dies sind alle Wörter in der Datei, die mit dem Wort “Kreis” beginnen.

suchen Sie nicht weiter

Das ist alles was es zu tun gibt look.

Es ist ziemlich einfach, wenn Sie wissen, dass es in verschiedenen Linux-Distributionen unterschiedliche Verhaltensweisen gibt und festgestellt haben, ob Ihre Version die binäre oder lineare Suche verwendet.

Moyens Staff
Moyens I/O-Personal. motivierte Sie und gab Ratschläge zu Technologie, persönlicher Entwicklung, Lebensstil und Strategien, die Ihnen helfen werden.
We would like to show you notifications for the latest news and updates.
Dismiss
Allow Notifications