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

So finden Sie die längste(n) Zeile(n) in einer Datei in Linux

Das Linux-Betriebssystem prahlt gerne mit seiner Rechenleistung und seinem Können. Sein algorithmischer Ansatz für Dinge wie die Dateiverarbeitung, insbesondere bei der Dateiverwaltung, liefert wichtige Meilensteine ​​für Linux-Benutzer auf der Suche nach der Bewältigung der Anforderungen der Linux-Administration.

Ein Aspekt der Dateiverarbeitung in der Linux-Betriebssystemumgebung, den wir unbedingt berücksichtigen müssen, ist das Identifizieren der längsten Zeilen innerhalb einer bearbeitbaren, von Linux unterstützten Datei.

Praktische Auswirkungen von langen Zeilen in einer Datei

Stellen Sie sich das Szenario vor, in dem Sie in einem Unternehmen arbeiten oder mit einem Projekt zu tun haben, das riesige Protokolldateien verarbeitet. Diese Dateien werden möglicherweise als einzelne Textzeilen gerendert, obwohl sie in Wirklichkeit Tausende von JSON-Dokumenten enthalten können.

Wenn die Größe dieser Textzeilen sehr/ungewöhnlich lang ist, kann es erforderlich sein, sie über einen Proxyserver zu verarbeiten, um die Datei(en) korrekt an einen Zielserver wie einen elastischen Suchserver umzuleiten.

Solche sorgfältigen Schritte zur Dateiverarbeitung können jedoch zu unbeabsichtigten Dateiverarbeitungsfehlern führen, wenn Sie es in Wirklichkeit nur mit extra langen Zeilen in Ihren Dateien zu tun haben. Die Diagnose eines solchen Fehlers ist unmöglich, ohne die Bedrohung im Spiel zu kennen.

Dieses Tutorial führt Sie durch die Schritte, die erforderlich sind, um die längsten Zeilen in einer Zieldatei in einer Linux-Betriebssystemumgebung zu identifizieren.

Problembeschreibung

Um diesen Artikel unterhaltsamer und ansprechender zu gestalten, erstellen wir eine Referenztextdatei mit mehreren unterschiedlichen Zeilen darin und implementieren später gültige Linux-Lösungen, um die längsten Zeilen herauszufinden.

$ sudo nano sample_file.txt

Wir werden uns bemühen, die längsten Zeilen in der obigen Datei (sample_file.txt) zu identifizieren ) über nützliche Linux-Befehle.

1. Finden Sie die längste Zeile in einer Datei mit dem Awk-Befehl

Idealerweise könnten wir allen Zeilen in der obigen Datei ein einzeiliges awk voranstellen Befehl, um ihre genauen Längen wie unten gezeigt zu bestimmen.

$ awk '{printf "%2d| %s\n",length,$0}' sample_file.txt  

Gemäß obigem Screenshot 73 ist die größte Zeilenlänge.

Längste Zeile in einer Datei mit wc- und grep-Befehlen drucken

Durch Kombinieren dieser beiden Befehle können Sie Regex aus dem grep-Befehl und max-line-length aus dem wc-Befehl verwenden. Das WC Befehl nimmt das -L Befehlsoption, um die maximale Zeilenlänge wie unten gezeigt zu bestimmen.

$ grep -E "^.{$(tr '\t' ' '

Der obige Befehl sollte die längsten Zeilen in der Datei sample_file.txt ausgeben .

Da hatten wir zwei identische Leinen mit der größten Leinenlänge von 73 , hat der obige Befehl die zwei ausgegeben Linien. Wenn es nur eine Zeile mit der größten Zeilenlänge von 73 wäre, würde nur diese Zeile gedruckt werden.

Wir sind jetzt bequem darin, die längste(n) Zeile(n) in einer Datei unter Linux zu finden.


Linux
  1. So finden Sie eine Datei in Linux

  2. Wie fügt man mehrere Zeilen an eine Datei an?

  3. So zählen Sie die Anzahl der Zeilen in einer Datei unter Linux (wc- und nl-Befehlsbeispiele)

  4. Wie man Zeilen in einer Datei in UNIX/Linux zählt

  5. Wie kann ich eine Datei/ein Verzeichnis finden, das sich irgendwo in der Linux-Befehlszeile befinden könnte?

Linux-Berechtigungen – So finden Sie Berechtigungen einer Datei

So mischen Sie Zeilen in einer Datei unter Linux

So kehren Sie Zeilen in einer Datei zeichenweise in Linux um

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So extrahieren Sie die Tar.xz-Datei in der Linux-Befehlszeile

So finden Sie die IP-Adresse in der Linux-Befehlszeile