Upline: Infos & Dokus Administration Linux Linux manpages

man cut


Der Linux-Befehl cut dient dem Ausschneiden bestimmter Zeichen oder Felder aus einer Datei. Damit lassen sich z.B. aus Textdatenbanken (auch csv-Datei, Character Separated Values) nur bestimmte Spalten ausgeben. Unter allen Unix-verwandten Betriebssystemen werden viele wichtige Einstellungen in Textdateien vorgenommen. Um aus diesen wiederum nur bestimmte Inhalte zu extrahieren, die man anschließend anderweitig weiterverarbeiten kann (z.B. in Automatisierungsscripten etc.), benötigt man häufig neben grep zum Filtern nach Zeilen den Befehl cut für die Spalten. Durch geeignete Paramterwahl kann man so z.B. aus den meist recht umfangreichen Logfiles unter /var/log nur bestimmte Inhalte herausfiltern und anschließend ausgeben. Ein paar Beispiele dazu:
# cut --fields=1 --delimiter=: /etc/passwd
# cut --fields=1,3 --delimiter=: --output-delimiter=; /etc/group
# cut -f1 -d: /etc/passwd|cut -b-3|sort
# ps h -ulxuser|cut -b-5
Sowohl die Paßwort-Datei /etc/passwd als auch die Gruppendefinition /etc/group verwendet als Trennzeichen zwischen den einzelnen Spalten den Doppelpunkt ":". Der 1. Befehl schneidet aus der Paßwortdatei (genauer gesagt der Userdefinitionsdatei, die Paßwörter liegen in aktuellen Linuxen schon seit Jahren verschlüsselt in /etc/shadow) die 1. Spalte aus und gibt somit alle dort eingetragenen User untereinander aus. Der 2. Befehl gibt nebeneinander alle im System definierten Gruppen (Spalte 1) und die zugehören Group-IDs (Spalte 3) getrennt durch ein Semikolon ";" aus. Die 3. Zeile schneidet zuerst wie beim 1. Befehl die Usernamen aus. Diese werden per Pipe "|" an einen 2. cut weitergereicht, welcher die ersten drei Zeichen auschneidet und das Ergebnis mit einer weiteren Pipe an sort übergibt. Das Ergbnis ist eine auf 3 Zeichen gekürzte und sortierte Liste aller Usernamen des Linux-Systems. Das 4. Beispiel holt über den Befehl ps eine formatierte Ausgabe aller laufenden Prozesse des Users "lxuser" und schneidet mittels cut dort die Prozess-IDs (Zeichen 1-5) aus. Derartiges ist gelegentlich ganz praktisch, wenn man schnellstmöglich alle Prozesse eines Users beenden will bzw. muss.
Hinweis: In der Linux-Manpage zu cut findet man zu fast allen Parametern eine Kurzform und eine Langform. Die Langform erwartet ein "=" zwischen Parameter und Wert, bei der Kurzform darf dieses nicht mitgeschrieben werden.
Nachfolgend kommt die unter der GPL stehende Original-Version der Manpage zum Befehl tac.

Name

cut - Teile jeder Zeile einer Datei entfernen

Übersicht

cut [OPTION]... [DATEI]...

Beschreibung

Ausgewählte Teile jeder DATEI auf Standardausgabe ausgeben.
-b, --bytes=LISTE nur diese Bytes ausgeben
-c, --characters=LISTE nur diese Zeichen ausgeben
-d, --delimiter=TRENN TRENN anstelle von TAB als Trenner benutzen
-f, --fields=LIST nur diese Felder ausgeben; außerdem jede Zeile ausgeben, die kein Trennzeichen enthält, außer die Option -s ist gegeben
-n (ignoriert)
-s, --only-delimited keine Zeilen ausgeben, die keinen Trenner enthalten
--output-delimiter=ZKETTE ZKETTE als Ausgabetrennzeichen benutzen, Voreinstellung ist das Eingabetrennzeichen
--help eine kurze Hilfe ausgeben und das Programm beenden
--version Versionsinformation ausgeben und beenden
Benutzen Sie genau eine der Optionen -b, -c oder -f. Jede LISTE besteht aus einem oder mehreren kommagetrennten Bereichen. Jeder Bereich ist einer aus:
  • N Ntes Byte, Zeichen oder Feld, beginnend von 1
  • N- vom Nten Byte, Zeichen oder Feld bis zum Ende der Zeile
  • N-M vom Nten zum Mten (einschl.) Byte, Zeichen oder Feld
  • -M vom ersten zum Mten (einschl.) Byte, Zeichen oder Feld
Ohne DATEI oder wenn DATEI "-" ist, wird die Standardeingabe gelesen.

Autor

Geschrieben von David Ihnat, David MacKenzie, and Jim Meyering.

Bugs melden

Berichten Sie Fehler an bug-textutils@gnu.org

COPYRIGHT

Copyright (C) 2001 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen.
Es gibt keine Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE ZWECKE.
cut (textutils) 2.0.14 Mai 2001 CUT(1)