Für einen Systemadministrator ist das Arbeiten mit Textdateien ein gemeinsames Phänomen. Möglicherweise müssen Sie einen bestimmten Abschnitt aus Stapel von Protokolldateien finden, um etwas zu beheben? Oder müssen das Dokument, das wichtige Informationen enthält, schnell finden?
Bei Linux gibt es zahlreiche Methoden, um Texte in Dateien zu finden. Es ist möglich, sowohl integrierte Tools als auch Apps von Drittanbietern zu verwenden. Schauen Sie sich an, wie Sie Texte in Dateien unter Linux finden.
Text in Dateien finden
Abhängig von der Anzahl der Dateien, auf denen Sie eine Suche durchführen müssen, gibt es zwei Möglichkeiten, die Textsuche durchzuführen: automatisiert oder manuell. Wenn Sie mit ein paar Textdateien arbeiten müssen, ist die manuelle Suche besser geeignet. Wenn es jedoch Hunderte von Textdateien gibt, ist die automatisierte Suche die effizienteste.
Für die automatisierte Suche verwenden wir Grep. Grep ist vorinstalliert auf jeder Linux-Distribution. Bei der manuellen Suche wird jeder moderne Texteditor den Job erledigen.
Suchen Sie Text in Dateien mit Grep
In Linux ist Grep das Standardwerkzeug zum Durchsuchen von Texten. Sein Name leitet.Es ist auf einer modernen Linux -Distribution erhältlich.
Grep ist ein Befehlszeilenwerkzeug. Seine Kommandostruktur ist wie folgt.
$ grep
Wie der Name von Grep schon sagt, wird das zu suchen, nach dem ein regulärer Ausdruck zu suchen ist, das zu suchen ist. Der reguläre Ausdruck ist eine spezielle Art von String, die ein Muster beschreibt, das übereinstimmt, lokalisiert und verwaltet. Um mehr über Grep und den regulären Ausdruck zu erfahren, lesen Sie Grep und EGREP mit regelmäßigem Ausdruck.
Erfahren Sie zu Demonstrationszwecken eine Beispieltextdatei. Laden Sie in diesem Beispiel die GNU General Public Lizenz V3 herunter.0 Textdatei.
Einfache Suche
Die grundlegende Möglichkeit, Grep zu verwenden, besteht darin, nach einer grundlegenden Zeichenfolge zu suchen.
Schauen Sie sich den folgenden Grep -Befehl an. In der Textdatei wird nach dem Wort "GNU" gesucht.
$ grep "gnu" GPL-3.0.txt
Um die Zeilennummer anzuzeigen, verwenden Sie die Flag „-n“.
$ grep -n "gnu" GPL -3.0.txt
Verwenden Sie die Flag „-i“, um eine von Fall unempfindliche Suche mit Grep mit GREP durchzuführen.
$ grep -ni "gnu" GPL -3.0.txt
Möglicherweise möchten Sie die Suchübereinstimmungen nicht sehen, sondern nur den Dateinamen, in dem das Spiel in einigen Situationen stattgefunden hat. Verwenden Sie, um nur den Dateinamen zu drucken, die Flag „-l“. Hier bezeichnet das Sternchen, alle Textdateien im aktuellen Verzeichnis zu verwenden.
$ grep -l "gnu" *
Wir können auch die Ausgabe anderer Befehle nach Grep übergeben.
$ cat GPL-3.0.txt | grep -n "gnu"
Regulären Ausdruck
Regex bietet eine intelligente Möglichkeit, die Suche zu bestrafen. Es hat seine eigenen Regeln. Verschiedene Anwendungen und Programmiersprachen implementieren jedoch einen regelmäßigen Ausdruck unterschiedlich. Hier sind einige Beispiele, die Sie mit Grep verwenden können.
Um zu definieren, dass die Saite beim Starten einer Linie zu finden ist, verwenden Sie das Symbol für Pflege (^).
$ grep -n "^gnu" GPL -3.0.txt
Um zu definieren, dass die Zeichenfolge am Ende einer Linie zu finden ist, verwenden Sie das Dollar -Zeichen ($).
$ grep -n „bis $“ GPL -3.0.txt
Um zu beschreiben, dass es an einem bestimmten Ort des Musters ein Zeichen für ein bestimmtes Charakter geben kann, verwenden Sie den Zeitschiff -Zeichen (.). Zum Beispiel der Ausdruck „G.U "ist gültig, wenn zwischen" G "und" u "einen Charakter gibt.
$ grep -n “g.U ”GPL-3.0.txt
Um zu beschreiben, dass an einem bestimmten Ort des Musters eine Untergruppe von Zeichen vorhanden ist, verwenden Sie die Klammern ([]). Zum Beispiel zeigt der Ausdruck „t [wo] o“, dass das Spiel nur für "zwei" und "zu" gültig ist.
$ grep -n "t [wo] o" GPL -3.0.txt
Erweiterter regulärer Ausdruck
Wie der Name schon sagt, kann ein erweiterter regulärer Ausdruck komplexere Dinge tun als grundlegende reguläre Ausdrücke. Um einen erweiterten regulären Ausdruck mit Grep zu verwenden, müssen Sie die Flag „-e“ verwenden.
$ grep -ne
Um nach zwei verschiedenen Zeichenfolgen zu suchen, verwenden Sie die ODER OPERS (|).
$ grep -ne "gnu | allgemeine | lizenz" GPL -3.0.txt
Text in Dateien finden
Jetzt kommt der Hauptteil. Anstatt Grep die Datei manuell zu sagen, kann Grep sie automatisch tun. Im folgenden Befehl verwendet Grep alle verfügbaren Textdateien im aktuellen Verzeichnis zum Durchsuchen des Musters.
$ grep*
Wenn Sie die Suche in einem anderen Verzeichnis durchführen möchten, müssen Sie den Speicherort angeben.
$ grep
Wenn es Ordner gibt, erkundet Grep sie standardmäßig nicht. Verwenden Sie die Flag „-r“, um Grep zu sagen, dass er rekursiv suchen soll.
$ grep -nr
Grep GUI
Wenn Sie es vorziehen, mit GUI zu arbeiten, aber dennoch Greps Funktionen genießen möchten, sehen Sie sich SearchMonkey an. Es ist eine Front-End-Lösung für Grep. Das Paket ist auf fast allen wichtigen Linux -Distributionen erhältlich.
Suchen Sie Text in Dateien mit Nano
GNU Nano ist ein einfacher und mächtiger Texteditor, der mit jeder Linux -Distribution ausgestattet ist. Es verfügt über integrierte Funktionen, um in einer Textdatei nach Text zu suchen.
Beachten Sie, dass Sie in dieser Methode die Textdatei öffnen und manuell suchen müssen. Es ist machbar, wenn es nur eine Handvoll Textdateien gibt, mit denen man arbeiten kann. Wenn es mehr gibt, ist die Verwendung von Grep die optimalste Wahl.
Öffnen Sie die Textdatei in Nano.
$ nano
Um nach einer String -Übereinstimmung zu suchen, drücken Sie "Strg + w". Drücken Sie nach dem Eingeben der Suche auf "Eingabetaste".
Suchen Sie Text in Dateien mit VIM
Vim ist ein bekannter und renommierter Texteditor. Es ist das Befehlszeilenäquivalent eines modernen Texteditors. Vim verfügt über zahlreiche fortschrittliche Funktionen wie Plugins, Makros, automatische Vervollständigung, Filter usw.
Ähnlich wie bei Nano arbeitet Vim gleichzeitig mit einer einzigen Datei. Wenn Sie mehrere Textdateien haben, ist die Verwendung von Grep der optimalste Weg, um zu gehen.
Um in einer Textdatei zu suchen, öffnen Sie sie zunächst in VIM.
$ vim
Geben Sie den folgenden VIM -Befehl ein und klicken Sie auf "Eingeben".
$:/
Suchen Sie Text in Dateien mit dem Gnome -Texteditor
Der Gnome -Texteditor ist der Texteditor, der mit dem Gnome -Desktop geliefert wird. Es ist ein simpler Texteditor mit all den grundlegenden Funktionen, die Sie erwarten würden. Es ist eine schöne Alternative zu den Befehlszeilen-Textredakteuren.
Ähnlich wie bei Nano und Vim gilt die gleiche Vorsicht für diese Methode. Wenn die Anzahl der Textdateien groß ist, bleiben Sie besser bei Grep.
Öffnen Sie die Textdatei im Texteditor. Drücken Sie "Strg + F", um die Suchleiste zu erhöhen.
Suchen Sie Text in Dateien mit VS -Code
Visual Studio Code ist ein leistungsstarker Texteditor mit Tonnen von Funktionen. Es ist optimiert, dass Programmierer verwendet werden, als wäre es eine vollwertige IDE. Es ist bei fast allen wichtigen Linux -Distributionen erhältlich.
Installieren Sie das Visual Studio -Code -Snap -Paket.
$ sudo snap install code -klassisch
Öffnen Sie die Textdatei in VS Code. Drücken Sie "Strg + F", um mit der Suche zu beginnen.
Abschließende Gedanken
Es gibt zahlreiche Möglichkeiten, Text in Dateien zu durchsuchen. Es ist eine leichte Aufgabe zu beherrschen. Es wird dringend empfohlen, den GREP-Befehl zu beherrschen.
Wenn Sie GUI bevorzugen, stehen zahlreiche Textredakteure zur Auswahl. Jeder moderne Texteditor bietet die Option für Textsuche an.
Happy Computing!