Upline: Infos & Dokus
Administration
Linux
Linux manpages
man cutDer 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-5Sowohl 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. Namecut - Teile jeder Zeile einer Datei entfernenÜbersichtcut [OPTION]... [DATEI]...BeschreibungAusgewä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:
AutorGeschrieben von David Ihnat, David MacKenzie, and Jim Meyering.Bugs meldenBerichten Sie Fehler an bug-textutils@gnu.orgCOPYRIGHTCopyright (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) |