GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie extrahiert man Text aus einer großen Datei, beginnend mit dem ersten Auftreten einer Zeichenfolge?

Sie können einfach "grep" mit dem -A verwenden und/oder -B Optionen. Die -A Schalter liest das X Anzahl der Zeilen nach dem Fehler, also ist es wahrscheinlich das, was Sie wollen, und die -B Schalter wird X anzeigen Anzahl der Zeilen vor dem Fehler, also würden Sie etwa so vorgehen:

grep -A10 -B2 "string to find" /path/and/file.tofind

um die 10 Zeilen zu finden, die nach "string to find" stehen, sowie die 2 Zeilen davor.

Alternativ – und es ist wahrscheinlich eine viel schlechtere Lösung – könnten Sie einfach „head“ und „tail“ verwenden, um den ersten und dann den letzten Teil der gewünschten Datei zu finden; Dies setzt jedoch voraus, dass Sie die Zeilennummern kennen. Das heißt, wenn Sie eine Datei mit langen Zeilen haben und die Zeilen 500-510 lesen möchten, können Sie Folgendes versuchen:

head -510 /etc/file/to/search | tail -10

Das würde zuerst die ersten 510 Zeilen der Datei extrahieren und dann die letzten 10 dieser Zeilen auslesen.


Linux
  1. Wie fügt man Text vor der ersten Zeile einer Datei ein?

  2. Effizient die ersten paar Zeilen aus einer Textdatei entfernen?

  3. Wie lösche ich die ersten N Zeilen einer ASCII-Datei mit Shell-Befehlen?

  4. Wie liest man eine Variable aus einer Datei?

  5. Wie entferne ich X Bytes vom Ende einer großen Datei, ohne die gesamte Datei zu lesen?

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

Bash-Scripting:So lesen Sie Daten aus Textdateien

So extrahieren Sie E-Mail-Adressen aus einer Textdatei unter Linux

So fügen Sie Text am Anfang einer Datei in Linux hinzu

Wie entferne ich die Zeilen, die in Datei B erscheinen, aus einer anderen Datei A?

Wie zeigt man bestimmte Zeilen aus einer Textdatei in Linux an?