Startpagina > Tekstverwerking en zoeken > cut

cut: Extraheer velden of tekenreeksen uit tekstbestanden

Het cut commando wordt gebruikt om specifieke velden (kolommen) of tekens (bytes) uit elke regel van tekstbestanden of standaardinvoer te extraheren en naar standaarduitvoer te sturen. Het is vooral handig voor het snel ophalen van de benodigde informatie uit gestructureerde tekstgegevens zoals logbestanden en CSV-bestanden, waarbij de -f optie een cruciale rol speelt bij het selecteren van specifieke velden.

Overzicht

cut verwerkt tekstgegevens regel voor regel om opgegeven velden, tekens of bytebereiken te extraheren. Het is zeer efficiënt voor eenvoudige data-extractie en transformatietaken.

Belangrijkste Kenmerken

  • Veld (kolom) extractie (-f optie)
  • Teken (byte) extractie (-c, -b optie)
  • Aangepaste scheidingstekens specificeren (-d optie)
  • Output zonder geselecteerde delen (--complement optie)

Belangrijkste Opties

Het cut commando biedt verschillende opties voor het extraheren van specifieke delen uit tekst.

Extractiemethoden

Output Controle

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`cut` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Voorbeelden van hoe tekstgegevens divers kunnen worden verwerkt met het cut commando.

Extraheer het eerste en derde veld uit een door komma's gescheiden bestand

echo "apple,banana,cherry,date" > data.csv
cut -d',' -f1,3 data.csv

Extraheert het eerste en derde veld uit het bestand data.csv met een komma (,) als scheidingsteken.

Extraheer het eerste tot derde veld uit tekst gescheiden door spaties

echo "Field1 Field2 Field3 Field4" | cut -d' ' -f1-3

Extraheert het eerste tot derde veld uit tekst met spaties als scheidingsteken. (Opmerking: voor meerdere spaties kan `awk` geschikter zijn.)

Extraheer de eerste 5 tekens uit een bestand

echo "Hello World" > sample.txt
cut -c1-5 sample.txt

Extraheert de eerste tot vijfde teken uit elke regel van het bestand sample.txt.

Output van /etc/passwd bestand zonder gebruikersnaam en shell

cut -d: -f1,7 --complement /etc/passwd

Extraheert alle velden behalve het eerste (gebruikersnaam) en het zevende (shell) veld uit het /etc/passwd bestand, dat gescheiden is door dubbele punten (:).

Extraheer alleen bestandsrechten en bestandsnaam uit de output van `ls -l`

ls -l | tr -s ' ' | cut -d' ' -f1,9

Extraheert het eerste (rechten) en negende (bestandsnaam) veld uit de output van het `ls -l` commando. Hier wordt `tr -s ' '` gebruikt om meerdere spaties te behandelen als één enkele spatie.

Tips & Aandachtspunten

Het cut commando is eenvoudig en snel, maar heeft beperkingen omdat het geen reguliere expressies of complexe conditionele logica kan verwerken. Voor complexere tekstverwerking kunt u tools zoals `awk` of `sed` overwegen.

Belangrijkste Tips

  • **Verwerking van spatie-scheidingstekens:** Bij het verwerken van velden gescheiden door meerdere spaties, herkent `cut -d' '` slechts enkele spaties. Het gebruik van `awk` zoals `awk '{print $1, $3}'` kan effectiever zijn.
  • **Geen ondersteuning voor reguliere expressies:** `cut` ondersteunt geen reguliere expressies. Gebruik `grep` en `awk` samen voor patroonherkenning.
  • **Gebruik van pipes:** `cut` is zeer krachtig voor het filteren van de output van andere commando's. Het wordt vaak gebruikt in combinatie met pipes, zoals `ls -l | cut -d' ' -f1,9`.
  • **Bereik specificatie:** In de opties `-f` of `-c` betekent `N-` van N tot het einde, en `-N` betekent van het begin tot N.

gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando