Verwenden von Liste

Verwenden von Liste

Wenn Sie der Meinung sind, dass Sie eine Linux -Systemverwaltung ohne durchführen können schneiden Befehl, dann haben Sie absolut Recht. Wenn Sie dieses ziemlich einfache Befehlszeilen -Tool beherrschen. Einfach nur ausdrücken, schneiden Der Befehl ist eines von vielen Befehlszeilen-Tools für Textfiltering, die das Linux-Betriebssystem zu bieten hat. Es filtert Standard -STDIN aus einem anderen Befehl oder Eingabedatei und sendet die gefilterte Ausgabe an STDOut.

Häufig verwendete Optionen

Ohne allzu viel Gespräch beginnen wir zunächst die Haupt- und am häufigsten verwendete Einführung schneiden Befehlszeilenoptionen.

  • -B, -Bytes = Liste
    Schnitt die Eingabedatei mit der Liste der von dieser Option angegebenen Bytes aus
  • -c, -characters = Liste
    Schnitt die Eingabedatei mithilfe der Liste der von dieser Option angegebenen Zeichen aus
  • -f, -fields = Liste
    Schnitt die Eingabedatei mit der Liste des Feldes aus. Das für die Registerkarte verwendete Standardfeld. Das Standardverhalten kann durch die Verwendung der Option -d überschrieben werden.
  • -D, -Delimiter = Begrenzer
    Gibt einen Trennzeichen an, um als Feld verwendet zu werden. Wie bereits erwähnt, ist das Standardfeld der Registerkarte und diese Option dieses Standardverhalten überschreibt.

Verwenden von Liste

Die Liste kann in diesem Fall aus einzelnen oder Bereiche von Bytes, Zeichen oder Feldern bestehen. Zum Beispiel, um nur das zweite Byte anzuzeigen, enthält die Liste eine einzelne Nummer 2 .

Deshalb:

  • 2 zeigt nur zweites Byte, Zeichen oder Feld von 1 an
  • 2-5 werden alle Bytes, Zeichen oder Felder angezeigt, die vom zweiten und enden um den 5 .
  • -3 Zeigt alle Bytes, Zeichen oder Felder vor dem 4. an
  • 5- produziert alle Bytes, Zeichen oder Felder, beginnend mit dem 5
  • 1,3,6 zeigt nur 1., 3. und 6. Byte, Zeichen oder Feld an
  • 1,3- Zeigt die 1. und alle Bytes, Zeichen oder Felder an, beginnend mit dem 3. Platz

Mal sehen, wie dies in der Praxis funktioniert.

Durch Charakter geschnitten

In den folgenden Beispielen sind eher selbsterklärend. Wir haben die Option -c -Option von Cut verwendet, um nur einen bestimmten Zeichenbereich von Cut zu drucken.TXT -Datei.

Echo Cut-Command> Schnitt.txt $ cut -c 2 cut.txt u $ cut -c -3 Schnitt.txt cut $ cut -c 2-5 cut.txt ut-c $ cut -c 5- cut.TXT -Befehl 

Von Byte geschnitten

Das Prinzip hinter -b (nach Byte) ist ähnlich wie zuvor beschrieben. Wir wissen, dass ein einzelnes Zeichen eine Größe von 1 Byte hat und daher entsteht, nachdem frühere Befehle mit -B -Option ausgeführt wurden, ist genau gleich:

$ cut -B 2 Schnitt.txt u $ cut -b -3 Schnitt.txt cut $ cut -b 2-5 cut.txt ut-c $ cut -b 5- cut.TXT -Befehl 

Der Schnitt.TXT ist eine einfache ASCII -Textdatei. Der Unterschied kommt nur bei der Verwendung von Multi-Byte-Codierungsdateien als UTF-8-Unicode-Text . Zum Beispiel:

$ echo ľuboš> schneiden.TXT $ Dateischnitt.txt geschnitten.TXT: UTF-8 Unicode Text $ Cut -B 1-3 Schnitt.txt ľu $ cut -c 1-3 Cut.txt ľub 

Durch Feld geschnitten

Wie bereits erwähnt, ist das Standardfeld, das von Cut -Befehl verwendet wurde, die Registerkarte. Lassen Sie beispielsweise eine Datei erstellen, in der ein gemeinsamer Trennzeichen der Registerkarte ist.

Hinweis: Wenn Sie sich auf eine Befehlszeile einfügen, verwenden Sie ^v (Strg + v), bevor Sie auf die Registerkarte klicken

$ echo "1 2 3"> Schnitt.txt $ echo "4 5 6" >> schneiden.txt $ cat cut.txt 1 2 3 4 5 6 $ cut -f2- cut.txt 2 3 5 6 

Das obige Beispiel oben gedruckt nur 2. und 3. Spalte, da der gemeinsame Trennzeichen Registerkarte wurde und die Registerkarte durch Cut als Standardfeld verwendet wird. Um sicherzustellen, dass Sie die Registerkarte anstelle des Speicherplatzs verwendet haben, verwenden Sie den Befehl OD:

$ echo "1 2"> Registerkarte.txt $ echo "1 2"> Raum.txt $ od -a Registerkarte.TXT 0000000 1 HT 2 NL 0000004 $ OD -A Space.TXT 0000000 1 SP SP SP SP SP SP SP SP 2 NL 0000013 

Wenn wir das Standardverhalten überschreiben und den Befehl Cut anweisen müssen, um verschiedene gemeinsame Trennzeichen zu verwenden.

$ Echo 1-2-3-4> Schnitt.txt $ echo 5-6-7-8 >> schneiden.txt $ cat cut.txt 1-2-3-4 5-6-7-8 $ cut -d--f-2,4 Schnitt.TXT 1-2-4 5-6-8 

Das klassische Beispiel, bei dem wir die Option -d verwenden müssen, besteht darin, die Liste von Benutzern in einem aktuellen System von /etc /passwd -Datei zu extrahieren:

$ cut -d: -f 1 /etc /Passwd Root Daemon Bin Sys Sync Games Man LP Mail News UUCP Proxy www -data… 

Es muss erwähnt werden, dass der gemeinsame Trennzeichen über jede Zeile des Eingangs einheitlich sein muss, um eine einheitliche Ausgabe zu erhalten. Zum Beispiel wäre es schwierig, Platz als gemeinsamer Trennzeichen zu verwenden. Das folgende Beispiel:

$ Cat Cut.TXT Cut Command W Befehl awk Befehl WC Befehl $ cut -d "" -F2 Cut Cut.Befehl txtbefehl 

In diesem Fall wäre es viel einfacher, den Befehl awk zu verwenden oder SED -Befehl zu verwenden, um zuerst mehrere Räume durch einen einzelnen Trennzeichen wie „“ zu ersetzen:

$ sed 's/\ s \+/,/' schneiden.txt | Cut -d, -F2 -Befehlsbefehlsbefehlsbefehl $ awk 'print $ 2; ' schneiden.Befehlsbefehl des txtbefehlsbefehls 

Ausschluss von Daten mit Komplement

Mit dem Befehl CET können Sie die gewünschten Daten selektiv in seine Ausgabe einbeziehen. Falls Sie Daten auswählen müssen, um aus der Ausgabe auszuschließen, kann die Option Komplement sehr praktisch werden.

Zum Beispiel:

$ Echo 12345678> Schnitt.txt $ cat cut.TXT 12345678 $ Cut --Komplement -c -2,4,6- Cut.txt 35 

Beispiele

Befehl lern linux cut mit Beispielen
Linux -Befehlssyntax Linux -Befehlsbeschreibung
frei | Grep mem | sed 's/\ s \+/,/g' | schneiden -d, -f2
Zeigen Sie den Gesamtspeicher auf dem aktuellen System an
Katze /Proc /cpuinfo | Grep "Name" | Cut -d: -f2 | Uniq
Einen CPU -Typ abrufen
WGet -q -o x http: // ipchicken.com/ grep '^ \ 8 \ [0-9]' x | sed 's/\ s \+/,/g' | schneiden -d, -f2
Abrufen Sie meine externe IP -Adresse ab
Schnitt -d: -f 1 /etc /passwd
Extrahieren Sie die Liste der Benutzer im aktuellen System
Ifconfig Eth0 | Grep hwaddr | schneiden -d "" -f 11
Holen Sie sich eine MAC -Adresse meiner Netzwerkschnittstellen
wer | Schneiden Sie -d \ s -f1
Listen Sie Benutzer an, die sich an einem aktuellen System angemeldet haben
GREP -W /etc /Services | Cut -f 1 | Uniq
Welcher Dienst nutzt Port .

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
  • Grundlegende Linux -Befehle
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Installieren Sie Arch Linux in VMware Workstation
  • Ubuntu 20.04 Leitfaden
  • Dinge zu installieren auf Ubuntu 22.04
  • Linux -Download