Pipes, Grep, Sort Commands: Linux Tutorial 9
Inhaltsverzeichnis:
- So verwenden Sie den Befehl Ausschneiden
- Nach Feld schneiden
- So schneiden Sie anhand eines Trennzeichens
- So ergänzen Sie die Auswahl
- So geben Sie ein Ausgabetrennzeichen an
- Wie man nach Bytes und Zeichen schneidet
- Beispiele ausschneiden
- Holen Sie sich eine Liste aller Benutzer
- Zeigen Sie die 10 am häufigsten verwendeten Befehle an
- Fazit
In Linux- und Unix-Systemen stehen zahlreiche Dienstprogramme zur Verfügung, mit denen Sie Textdateien verarbeiten und filtern können. Cut ist ein Befehlszeilendienstprogramm, mit dem Sie Teile von Zeilen aus angegebenen Dateien oder Pipe-Daten ausschneiden und das Ergebnis auf der Standardausgabe drucken können. Es kann verwendet werden, um Teile einer Zeile nach Trennzeichen, Byteposition und Zeichen auszuschneiden.
In diesem Tutorial zeigen wir Ihnen anhand von praktischen Beispielen und detaillierten Erklärungen der gebräuchlichsten Schnittoptionen, wie Sie den Linux-Befehl cut verwenden.
So verwenden Sie den Befehl Ausschneiden
Die Syntax für den Befehl cut lautet wie folgt:
cut OPTION……
Wenn Sie den Befehl cut verwenden, müssen Sie nur eine der folgenden Optionen verwenden:
-
-f
(--fields=LIST
) - Wählen Sie dies aus, indem Sie ein Feld, eine Gruppe von Feldern oder einen Bereich von Feldern--fields=LIST
. Dies ist die am häufigsten verwendete Option.-b
(--bytes=LIST
) - Wählen Sie dies aus, indem Sie ein Byte, einen Satz von Bytes oder einen Bereich von Bytes--bytes=LIST
.-c
(--characters=LIST
) - Wählen Sie dies aus, indem Sie ein Zeichen, einen Zeichensatz oder einen Zeichenbereich--characters=LIST
.
Andere Optionen sind:
-
-d
(--delimiter
) - Geben Sie ein Trennzeichen an, das anstelle des Standardtrennzeichens „TAB“ verwendet wird.--complement
- ergänzen die Auswahl. Bei Verwendung dieser Option zeigt cut alle Bytes, Zeichen oder Felder mit Ausnahme der ausgewählten an.-s
(--only-delimited
) - Standardmäßig wird durch Ausschneiden jede Zeile gedruckt, die kein Trennzeichen enthält. Bei Verwendung dieser Option werden beim Ausschneiden keine Zeilen gedruckt, die keine Trennzeichen enthalten.--output-delimiter
- Standardmäßig wird das Eingabebegrenzungszeichen als Ausgabebegrenzungszeichen verwendet. Mit dieser Option können Sie eine andere Ausgabe-Trennzeichenfolge angeben.
Der Befehl cut kann null oder mehr eingegebene DATEINamen akzeptieren. Wenn keine DATEI angegeben ist oder wenn DATEI
-
, liest cut die Standardeingabe.
Das an die Optionen
-f
,
-b
und
-c
LIST-Argument kann eine Ganzzahl, mehrere durch Kommas getrennte Ganzzahlen, ein Ganzzahlbereich oder mehrere durch Kommas getrennte Ganzzahlbereiche sein. Jeder Bereich kann einer der folgenden sein:
-
N
das N-te Feld, Byte oder Zeichen, beginnend mit 1.N-
vom N-ten Feld, Byte oder Zeichen bis zum Zeilenende.NM
vom N-ten bis zum M-ten Feld, Byte oder Zeichen.-M
vom ersten bis zum m-ten Feld, Byte oder Zeichen.
Nach Feld schneiden
Der Befehl Ausschneiden wird hauptsächlich zum Anzeigen ausgewählter Felder aus jeder Dateizeile oder der Standardeingabe verwendet. Wenn nicht angegeben, lautet das Standardtrennzeichen "TAB".
In den folgenden Beispielen verwenden wir die folgende Datei. Alle Felder sind durch Tabulatoren getrennt.
test.txt
245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978
Um das 1. und 3. Feld anzuzeigen, verwenden Sie:
cut test.txt -f 1, 3
245:789 M:4540 535:763 M:3476
Oder wenn Sie vom 1. bis zum 4. Feld anzeigen möchten:
cut test.txt -f -4
245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales
So schneiden Sie anhand eines Trennzeichens
Verwenden Sie zum Ausschneiden basierend auf einem Trennzeichen die Option
-d
gefolgt von dem Trennzeichen, das Sie verwenden möchten.
Um beispielsweise das erste und dritte Feld mit dem Trennzeichen ":" anzuzeigen, geben Sie Folgendes ein:
cut test.txt -d ':' -f 1, 3
245:4540 Admin 01 535:3476 Sales 11
Sie können ein beliebiges einzelnes Zeichen als Trennzeichen verwenden. Im folgenden Beispiel verwenden wir das Leerzeichen als Trennzeichen und drucken das 2. Feld:
echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
So ergänzen Sie die Auswahl
Um die Liste der Auswahlfelder zu ergänzen, verwenden
--complement
Option
--complement
. Dadurch werden nur die Felder gedruckt, die nicht mit der Option
-f
ausgewählt wurden.
Der folgende Befehl druckt alle Felder außer dem 1. und 3. aus:
cut test.txt -f 1, 3 --complement
4567 Admin 01:10:1980 4987 Sales 11:04:1978
So geben Sie ein Ausgabetrennzeichen an
Verwenden Sie zum
--output-delimiter
des
--output-delimiter
Option
--output-delimiter
. Um beispielsweise das Ausgabetrennzeichen auf
_
, würden Sie Folgendes verwenden:
cut test.txt -f 1, 3 --output-delimiter='_'
Wie man nach Bytes und Zeichen schneidet
Bevor wir weitermachen, wollen wir zwischen Bytes und Zeichen unterscheiden.
Ein Byte besteht aus 8 Bits und kann 256 verschiedene Werte darstellen. Bei der Festlegung des ASCII-Standards wurden alle Buchstaben, Zahlen und Symbole berücksichtigt, die für die Arbeit mit Englisch erforderlich sind. Die ASCII-Zeichentabelle hat 128 Zeichen und jedes Zeichen wird durch ein Byte dargestellt. Als Computer weltweit populär wurden, führten Technologieunternehmen neue Zeichenkodierungen für verschiedene Sprachen und für Sprachen mit mehr als 256 Zeichen ein. Eine einfache 1: 1-Zuordnung war nicht möglich. Dies führt zu unterschiedlichen Problemen wie dem Teilen von Dokumenten oder dem Durchsuchen von Websites. Es wurde ein neuer Unicode-Standard benötigt, der die meisten Schreibsysteme der Welt unterstützt. UTF-8 wurde entwickelt, um diese Probleme zu lösen. In UTF-8 werden nicht alle Zeichen mit 1 Byte dargestellt. Zeichen können mit 1 Byte bis 4 Byte dargestellt werden.
In den folgenden Beispielen wird das Zeichen
ü
verwendet, das 2 Byte benötigt.
Verwenden Sie die Option
-b
(
--bytes
), um einen Abschnitt einer Zeile auszuschneiden, indem Sie eine
--bytes
.
Wählen Sie das 5. Byte:
echo 'drüberspringen' | cut -b 5
b
Wählen Sie das 5., 9. und 13. Byte aus:
echo 'drüberspringen' | cut -b 5, 9, 13
bpg
Wählen Sie den Bereich von 1. bis 5. Byte:
echo 'drüberspringen' | cut -b 1-5
drüb
Zum Zeitpunkt des Schreibens dieses Artikels kann die in GNU coreutils enthaltene Version von cut nicht nach Zeichen geschnitten werden. Bei Verwendung der Option
-c
verhält sich cut genauso wie bei Verwendung der Option
-b
.
Beispiele ausschneiden
Der Befehl cut wird normalerweise in Kombination mit anderen Befehlen über Piping verwendet. Hier einige Beispiele.
Holen Sie sich eine Liste aller Benutzer
Die Ausgabe des
getent passwd
wird an
cut
wobei das erste
getent passwd
mit
:
als Trennzeichen gedruckt wird.
getent passwd | cut -d ':' -f1
Zeigen Sie die 10 am häufigsten verwendeten Befehle an
Im folgenden Beispiel werden mit cut die ersten 8 Bytes aus jeder Zeile der Ausgabe des
history
.
history | cut -c8- | sort | uniq -c | sort -rn | head
Fazit
Inzwischen sollten Sie ein gutes Verständnis für die Verwendung des Linux-Befehls cut haben. Der Befehl cut ist zwar sehr nützlich, weist jedoch einige Einschränkungen auf. Es wird nicht unterstützt, mehr als ein Zeichen als Trennzeichen anzugeben, und es werden nicht mehrere Dezimeter unterstützt.
Terminal abschneidenEcho-Befehl in Linux mit Beispielen
Der Befehl echo ist einer der grundlegendsten und am häufigsten verwendeten Befehle in Linux. Die an echo übergebenen Argumente werden an die Standardausgabe ausgegeben.
Curl-Befehl unter Linux mit Beispielen
Curl ist ein Befehlszeilenprogramm zum Übertragen von Daten von oder zu einem Server, das für den Betrieb ohne Benutzerinteraktion entwickelt wurde. In diesem Tutorial zeigen wir Ihnen anhand von praktischen Beispielen und detaillierten Erklärungen der gebräuchlichsten Curl-Optionen, wie Sie das Curl-Werkzeug verwenden.
Linux date Befehl mit Beispielen
Mit dem Befehl date wird das Systemdatum angezeigt oder festgelegt. Es wird am häufigsten verwendet, um Datum und Uhrzeit in verschiedenen Formaten auszudrucken und zukünftige und vergangene Daten zu berechnen.