Syntaxis:
knippen OPTIE… [BESTAND]…OPTION-waarde is verplicht om te gebruiken voor 'cut'-opdracht en FILE-naam is optioneel. Als u de bestandsnaam in de opdracht weglaat, worden gegevens uit de standaardinvoer gehaald. Maar als u de OPTION-waarde in de cut-opdracht weglaat, wordt de fout gegenereerd.
Opties:
Optietag | Omschrijving |
-b of -byte=LIJST | Selecteer de specifieke bytes. |
-c of -karakter=LIJST | Selecteer de specifieke tekens. |
-d of -delimiter=DELIM | Selecteer DELIM-waarde als scheidingsteken. Standaard is het scheidingsteken TAB. |
-f of -fields=LIJST | Selecteer de specifieke velden |
-aanvulling | Gebruiken om de uitvoer aan te vullen |
-s of -alleen gescheiden | Laat de regels weg die geen scheidingsteken bevatten. |
-output-delimiter=STRING | Gebruik STRING-waarde als uitvoerscheidingsteken. |
-z of -zero-terminated | Gebruik NULL als lijnscheidingsteken. |
Voorbeeld-1: Gesneden door bytes
Het volgende snijcommando zal de standaard invoergegevens opdelen op basis van de gedefinieerde bytes. Hier worden 3,4,5 en 6 gedefinieerd als bytes. De uitvoer wordt gegenereerd op basis van de standaardinvoer. Druk op CTRL+D om de opdracht te verlaten.
$ gesneden -b 3,4,5,6Uitgang:
Hier is de invoer "Ik hou van programmeren" en de uitvoer is "zoals" op basis van de genoemde bytes.
Maak een tekstbestand met de naam "product lijst.tekst” met de volgende inhoud voor het toepassen van de opdracht 'knippen'. Gebruik TAB om de velden van de bestandsinhoud te scheiden.
ID Naam Prijs01 Pen $2
02 Potlood $1.5
03 Gum $1
Voer de volgende opdracht uit om alleen de product-ID op te halen:. Hier worden bytes gegeven als een bereik, '1-2' om de gegevens te knippen.
$ knippen -b 1-2 < productlist.txtUitgang:
Voorbeeld-2: Gesneden op karakters
U kunt dezelfde uitvoer genereren door de optie -c te gebruiken, die worden getoond in de vorige voorbeelden. Er is dus geen specifiek verschil tussen de uitvoer van -b en -c opties van het cut commando. Voer de volgende opdracht uit om het gebruik van de optie -c te tonen. Hier wordt 4- gebruikt als een optiewaarde die van positie 4 naar alle resterende tekens van elke regel snijdt. Je kunt ook het minteken voor de waarde gebruiken, zoals -4, dan wordt het vanaf het begin naar 4 posities geknipt.
$ cut -c 4- productlijst.tekstUitgang:
De eerste drie tekens zijn weggelaten in de uitvoer.
Voorbeeld-3: Gesneden door scheidingsteken en velden
Maak een CSV-bestand met de naam 'studenten.csv' met de volgende inhoud om het gebruik van scheidingsteken te tonen:.
1001,Jonathan,CSE,3.741002,Micheal,EEE,3.99
1003, Asraful Haque, BBA, 3.85
1004,Momotaj Khan,Engels,3.20
Voer de volgende opdracht uit om de naam van de student en CGPA af te drukken vanuit de studenten.csv het dossier. Volgens de bestandsinhoud is de 2nd en de 4dit velden bevatten de naam van de student en CGPA. Er worden dus twee opties gebruikt in deze opdracht om de uitvoer te tonen:. Een daarvan is het scheidingsteken, -d, dat is ',' hier en een andere is de veldoptie, -f.
$ cut -d ',' -f 2,4 studenten.csvUitgang:
Als u twee of meer opeenvolgende kolommen van een tabelgegevens of CSV-bestand wilt afdrukken, kunt u de velden als een bereik definiëren. Het bereik van de veldwaarde wordt gebruikt in de volgende opdracht:. Hier worden alle velden van 2 tot 4 afgedrukt als uitvoer.
$ cut -d ',' -f 2-4 leerlingen.csvUitgang:
Voorbeeld 4: Knippen op complement
-complement-optie wordt gebruikt om de tegenovergestelde uitvoer van de opdracht te genereren. In de volgende opdracht, de productlijst.txt-bestand wordt gebruikt dat in het eerste voorbeeld is gemaakt. Hier zal de -f optie de 1 . knippenst field en --complement optie zullen de andere alle velden van het bestand afdrukken door de 1 . weg te latenst veld-.
$ katten productlijst.tekst$ cut --complement -f 1 productlijst.tekst
Uitgang:
Voorbeeld-5: Knippen door uitvoerscheidingsteken
Deze optie wordt gebruikt om uitvoer te genereren door een bepaald scheidingsteken te gebruiken. De eerder gemaakte studenten.csv bestand wordt gebruikt in de volgende opdracht:. ',' is het standaard scheidingsteken van elk CSV-bestand. De volgende opdracht gebruikt ':' als uitvoerscheidingsteken.
$ kat studenten.csv$ cut -d "," -f 1-3 studenten.csv --output-delimiter=":"
Uitgang:
Na het uitvoeren van de opdracht wordt het invoerscheidingsteken ',' vervangen door het uitvoerscheidingsteken ':' en worden de eerste drie velden afgedrukt door ':' te scheiden.
Voorbeeld-6: Snijden met pijpcommando gebruiken
Het Cut-commando kan invoer krijgen van elk bestand of van de gebruikersinvoer. Maar invoertekst kan worden verzonden naar het snijcommando met behulp van de pipe. Het volgende commando toont het gebruik van het cut-commando met de pipe:. Hier zal het echo-commando de invoertekst om het commando te knippen en het cut-commando de velden 2 en 3 knippen op basis van het scheidingsteken.
$ echo "Knijpopdracht testen" | knippen -d " " -f 2,3Uitgang:
Voorbeeld-7: Uitvoer van knipopdracht opslaan in een bestand
Als je wilt, kun je de uitvoer van de knipopdracht ook in een willekeurig tekstbestand opslaan. De volgende opdracht neemt de inhoud van de studenten over:.csv-bestand als invoer, knip de 2nd veld op basis van het scheidingsteken en druk de uitvoer af in een tekstbestand met de naam 'student_names.tekst'.
$ kat studenten.csv$ kat studenten.csv | cut -d kat studenten.csv | knip -d "," -f 2 > student_name.tekst","
f 2 > naam student.tekst
$ kat student_names.tekst
Uitgang:
Conclusie:
De meest voorkomende toepassingen van het cut-commando worden in deze zelfstudie uitgelegd aan de hand van de bovenstaande voorbeelden. Hoop, het gebruik van het snijcommando zal van de lezers worden gewist na het oefenen van de bovenstaande voorbeelden.