Teilen Sie eine Textdatei unter Ubuntu Linux in zwei Hälften (oder einen beliebigen Prozentsatz)

Video: Teilen Sie eine Textdatei unter Ubuntu Linux in zwei Hälften (oder einen beliebigen Prozentsatz)

Video: Teilen Sie eine Textdatei unter Ubuntu Linux in zwei Hälften (oder einen beliebigen Prozentsatz)
Video: How to Deploy .Net Core Web Application to Ubuntu Linux 2024, März
Teilen Sie eine Textdatei unter Ubuntu Linux in zwei Hälften (oder einen beliebigen Prozentsatz)
Teilen Sie eine Textdatei unter Ubuntu Linux in zwei Hälften (oder einen beliebigen Prozentsatz)
Anonim

Wenn Sie eine unhandliche Textdatei haben, die Sie verarbeiten möchten, kann das Teilen in Textabschnitte manchmal die Verarbeitungszeit verbessern, insbesondere wenn wir eine Datei in eine Kalkulationstabelle importieren. Oder Sie möchten vielleicht nur einen bestimmten Satz von Zeilen aus einer Datei abrufen.

Geben Sie split, wc, tail, cat und grep ein. (Vergessen Sie nicht sed und awk). Linux enthält eine Vielzahl von Dienstprogrammen zum Arbeiten mit Textdateien in der Befehlszeile. Für unsere heutige Aufgabe verwenden wir Split und WC.

Zuerst schauen wir uns unsere Logdatei an….

> ls -l -rw-r–r– 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log

Die Dateigröße beträgt 42 MB. Das ist ziemlich groß … aber mit wie vielen Zeilen haben wir es zu tun? Wenn wir dies in Excel importieren wollten, müssten wir weniger als 65.000 Zeilen verwenden.

Lassen Sie uns die Anzahl der Zeilen in der Datei mit dem Dienstprogramm wc überprüfen, das für "Wortzahl" steht.

> wc -l access.log 146330 access.log

Wir sind weit über unserem Limit. Wir müssen dies in drei Segmente aufteilen. Wir verwenden dazu das Split-Dienstprogramm.

> split -l 60000 access.log > ls -l

total 79124 -rw-rw-r– 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log -rw-rw-r– 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa -rw-rw-r– 1 thegeek ggroup 16596545 2006-09-19 12:05 xab -rw-rw-r– 1 thegeek ggroup 7270492 2006-09-19 12:05 xac

Wir haben unsere Textdateien nun in drei separate Dateien aufgeteilt, die jeweils weniger als 60000 Zeilen enthalten. Dies scheint eine gute Wahl zu sein. Die letzte Datei enthält den verbleibenden Betrag. Wenn Sie diese bestimmte Datei in zwei Hälften schneiden würden, hätten Sie Folgendes getan:

> split -l 73165 access.log

Und das ist alles, was dazu gehört.

Empfohlen: