Übersicht
csplit teilt eine Eingabedatei basierend auf angegebenen Mustern oder Zeilennummern in mehrere Ausgabedateien auf. Jede Ausgabedatei enthält einen fortlaufenden Abschnitt der Originaldatei, und die Dateinamen bestehen aus einem angegebenen Präfix und einem numerischen Suffix.
Hauptmerkmale
- Aufteilung basierend auf regulären Ausdrücken oder Zeilennummern
- Anpassbares Präfix und Format für Ausgabedateinamen
- Einfache Extraktion und Verwaltung bestimmter Abschnitte großer Dateien
Wichtige Optionen
Steuerung der Ausgabedatei
Steuerung des Aufteilungsverhaltens
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`csplit` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Datei basierend auf Zeilennummern aufteilen
echo -e "$(seq 1 35)" > test.txt
csplit test.txt 10 20 30
Teilt die Datei test.txt an den Zeilen 10, 20 und 30 auf. (z. B. xx00: Zeilen 1-9, xx01: Zeilen 10-19, xx02: Zeilen 20-29, xx03: Zeile 30 bis zum Ende)
Datei basierend auf regulären Ausdrücken aufteilen
echo -e "Line 1\nLine 2\nERROR: First error\nLine 4\nLine 5\nERROR: Second error\nLine 7" > log.txt
csplit -f part_ log.txt '/^ERROR:/' '{*}'
Teilt die Datei log.txt basierend auf Zeilen, die mit '^ERROR:' beginnen, auf und legt das Dateipräfix auf 'part_' fest. '{*}' bedeutet, dass der Rest aller Inhalte in einer Datei zusammengefasst wird.
Aufteilen mit Angabe von Präfix und Ziffernanzahl
echo -e "[Section 1]\nContent A\n[Section 2]\nContent B\n[Section 3]\nContent C" > data.log
csplit -f my_file_ -n 3 data.log '/^\[Section \d+\]/' '{*}'
Teilt die Datei data.log anhand des Musters '[Section N]' auf und erstellt Dateinamen wie 'my_file_000', 'my_file_001' usw.
Aufteilen unter Ausschluss übereinstimmender Zeilen
echo -e "Line 1\nERROR: First error\nLine 3\nERROR: Second error" > log.txt
csplit --suppress-match -f no_error_ log.txt '/^ERROR:/' '{*}'
Teilt die Datei log.txt anhand des Musters '^ERROR:' auf, schließt jedoch Zeilen, die mit 'ERROR:' beginnen, von den einzelnen aufgeteilten Dateien aus.
Tipps & Hinweise
Der Befehl csplit ist leistungsstark, aber bei der Verwendung regulärer Ausdrücke ist Vorsicht geboten.
Nützliche Tipps
- Setzen Sie reguläre Ausdrücke in Anführungszeichen, um die Interpretation durch die Shell zu verhindern.
- Die Zeile, die als Aufteilungskriterium dient, wird standardmäßig zur ersten Zeile der nächsten Datei. Mit der Option `--suppress-match` können Sie diese Zeile ausschließen.
- '{*}' bedeutet, dass die restlichen Dateien zu einer einzigen Datei zusammengefasst werden. Ohne diese Option werden die Inhalte nach dem letzten Aufteilungskriterium verworfen.
Hinweise
- Originaldatei wird nicht geändert: csplit ändert die Originaldatei nicht, sondern erstellt neue aufgeteilte Dateien.
- Fehlerbehandlung: Wenn reguläre Ausdrücke nicht übereinstimmen oder Zeilennummern ungültig sind, können Fehler auftreten. Insbesondere müssen reguläre Ausdrücke korrekt formuliert sein.