Cut-kommandoen brukes til å kutte ut deler av standard inngangsstrøm eller datafiler ved å bruke Unix cut-verktøyet. Det er en del av GNU Coreutils-pakken og BSD-basesystemet, og derfor tilgjengelig på alle Linux- og BSD-systemer som standard. Klippekommandoen i Unix tillater kutting av seksjoner basert på byteposisjoner, tegn eller felt atskilt med en skilletegn som ‘-‘ eller ‘:’ tegnene. Guiden vår gir en praktisk introduksjon til Linux cut-kommandoen ved hjelp av et godt kuratert sett med eksempler. Prøv dem ved siden av å lese dette innlegget for å få førstehånds erfaring.

Eksempler på Linux Cut Command i Unix

Våre eksperter har prøvd sitt beste for å lage denne guiden er vennlig for nye Linux-brukere. I tillegg vil det fungere som et praktisk referansepunkt for erfarne brukere. Vi oppfordrer leserne til å prøve kommandoene mens de utforsker dem. Vi demonstrerer disse Linux Cut-kommandoene ved å bruke både standardinndata og en referansefil. Du kan kopiere og lime inn innholdet i filen herfra og opprette det på systemet ditt.

Referansefil som brukes til demonstrasjonsformål

Vi bruker en tekstfil kalt test.txt bosatt i hjemmekatalogen. Filen inneholder fem rader eller linjer, som alle inneholder fire kolonner. Hver rad inkluderer navnet på et land, hovedstaden, valutaen og befolkningen; alle atskilt med skilletykktarmen. Opprett denne filen på systemet ditt og fyll inn innholdet nedenfor.

Syntaks for Cut Command i Unix

Linux-kommandoen har syntaksen nedenfor.

cut OPTION... ...

For å kutte tekst fra inngangsstrømmen, Bruk ekkokommandoen og rør (|) utgangen til kuttkommandoen. Den samme metoden kan brukes for å gi kuttinndata fra katt.

Klipp tekst basert på byteposisjoner

Alternativet b som tilbys av kuttverktøyet lar oss kutte deler av en tekst- basert på deres byteposisjoner. Vi må bruke klippekommandoen med flagget -b etterfulgt av byte-tallene for dette formålet.

1. Klipp bare en enkelt byte fra inngangsstrømmen

$ echo "cutting text from input" | cut -b 1

Kommandoen ovenfor gjenspeiler strengen «klippe tekst fra inngang» til standardutgangen og rør den som en inngang til kuttkommandoen. Kuttkommandoen vil kutte bare den første byten (c) fra denne strengen, da bare 1 ble utstyrt med -b-flagget.

2. Klipp spesifikke byte fra inngangsstrømmen

$ echo "cutting text from input" | cut -b 1,3

Denne kommandoen vil bare kutte den første og tredje byten av strengen «skjære tekst fra inngang» og vil vise «ct» som sin utgang. Prøv det med noen forskjellige byteposisjoner.

3. Kutt rekkevidde av byte fra inngangsstrømmen

$ echo "cutting text from input" | cut -b 1-12

Kommandoen ovenfor vil kutte byteområdet 1-12 fra den gitte strengen og skrive ut «skjæringstekst» på standardutgangen. Å gi byteområder som ligger utenfor strengens okkupasjon, vil resultere i en melding som viser «klipp: ugyldig byte eller tegnområde».

4. Klipp bare en enkelt byte fra tekstfilen

$ cut -b 1 test.txt

Denne kommandoen viser bare de første byte av hver av de fem radene i filen test.txt. Det tilsvarer kommandoen $ cat test.txt | cut -b 1

5. Klipp spesifikke byte fra tekstfilen

$ cut -b 1,3 test.txt

Kommandoen ovenfor kutter bare det første og tredje byte på hver rad. Du kan spesifisere hvilket som helst byte tall så lenge de faller innenfor området tilgjengelige byte.

6. Klipp byteområdet fra tekstfilen

$ cut -b 1-12 test.txt

Denne kommandoen sender ut den første til tolvte byte av hver rad i test.txt-filen. Du bør legge merke til likheten av funksjonalitet denne kommandoen har med den tredje kommandoen.

7. Klipp den første 7 byte i alfabetisk rekkefølge

$ cut -b 1-7 test.txt | sort

Vi kan tilby utdataene for kuttkommandoen som inngang til sorteringskommandoen for å vise de første syv bytene i hver rad alfabetisk. For alfabetisk sortering krever sorteringskommandoen ingen alternativer.

8. Klipp de første 7 bytene i omvendt rekkefølge

$ cut -b 1-7 test.txt | sort -r

Denne kuttkommandoen vil kutte de første 7 byte fra hver rad og vil sende dem i omvendt rekkefølge. Se hvordan utdataene fra kuttkommandoen blir matet til sorteringskommandoen ved hjelp av et rør.

9. Klipp fra den femte byten til slutten av inngangsstrømmen

$ echo "cutting text from input" | cut -b 5-

Kuttkommandoen ovenfor kutter teksten fra den femte byten til slutten av strengen. Denne kommandoen vil være nyttig når du trenger å kutte fra en spesifisert byteposisjon til slutten av inngangsstrømmen. Bare endre verdien på b-flagget mens du holder på etterfølgende.

10. Klipp fra den femte byten til slutten av filen

$ cut -b 5- test.txt

Denne kommandoen begynner å kutte hver av de fem testradene.tekst fra femte-byte-posisjonen og fullfør først etter at hver rad slutter. Den etterfølgende bindestrek (-) er obligatorisk for denne operasjonen.

11. Kutt en spesifisert mengde byte som starter fra den første

$ echo "cutting text from input" | cut -b -5

Denne kommandoen vil kutte de fem første byte av inngangsstrengen. Du kan kutte fra startbyte til hvilken som helst annen byteposisjon ved å bare erstatte verdien på b-flagget. Husk å legge til forrige bindestrek (-) ellers vil ikke utdataene være som forventet.

12. Klipp fra den første byten til en spesifisert posisjon fra filen

$ cut -b -5 test.txt

Kommandoen ovenfor vil kutte bare de fem første byte på hver linje fra tekstfilen vår. Legg merke til hvordan bindestrek (() blir brukt til kommandoene 9-12 i denne listen.

Klipp ut tekst basert på tegn

Klippkommandoen i Unix lar brukerne kutte en del av teksten basert på tegn. Når du håndterer store filbehandlingsoppgaver, må du gjøre dette ganske ofte. Prøv dem og legg merke til likhetene mellom karakterbasert klipping og bytebasert klipping.

13. Klipp bare et enkelt tegn fra inngangsstrømmen

$ echo "cutting text from input" | cut -c 1

Kommandoen ovenfor kutter det første tegnet fra standardinngangen og viser det i terminalen. I dette tilfellet er det «c». Bytt streng til noe annet for å forstå dette tydelig.

14. Klipp spesifikke tegn fra inngangsstrømmen

$ echo "cutting text from input" | cut -c 1,3

Denne kommandoen klipper bare første og tredje tegn i inngangsstrengen og viser dem. Du kan prøve å klippe andre tegn, men husk å ikke overskride tegngrensen for strengen.

15. Klipp utvalg av tegn fra inngangsstrømmen

$ echo "cutting text from input" | cut -c 1-12

I tilfelle denne kommandoen vil «klipp» kutte tegn som strekker seg fra første posisjon til tolvte posisjon. Resultatet blir «skjæring av tekst». Merk likhetene mellom denne Linux-kuttkommandoen og den tredje kommandoen.

16. Klipp bare et enkelt tegn fra tekstfilen

$ cut -c 1 test.txt

Denne kommandoen viser bare de første tegnene i hver av de fem radene i filen test.txt. Det tilsvarer kommandoen $ cat test.txt | cut -c 1 og gir samme resultat som vi ville fått når vi brukte byteflagget.

17. Klipp spesifikke tegn fra tekstfilen

$ cut -c 7,10 test.txt

Kommandoen ovenfor kutter bare det syvende og tiende tegnet i hver fem rad. Du kan angi alle tegnposisjoner så lenge de faller innenfor området tilgjengelige tegn.

18. Klipp ut rekke tegn i tekstfilen

Denne kommandoen sender ut de første til tolvte tegnene på hver linje i test.txt-filen. Klippekommandoen i Unix oppfører seg likt når du kutter et tegn- og byteområde.

19. Klipp de fem første tegnene i alfabetisk rekkefølge

$ cut -c 1-5 test.txt | sort

Du kan levere utgangen fra klippekommandoen som en inngang til sorteringskommandoen for å kutte de første fem byte av hver rad alfabetisk. Sorteringskommandoen krever ingen alternativer når du sorterer alfabetisk.

20. Klipp de fem første tegnene i omvendt rekkefølge

$ cut -c 1-5 test.txt | sort -r

Denne kuttkommandoen kutter de fem første tegnene fra hver rad og viser dem etter sortering i omvendt rekkefølge. Se hvordan utdataene for kuttkommandoen mates til sorteringskommandoen ved hjelp av et rør.

21. Klipp fra det femte tegnet til slutten av inngangsstrømmen

$ echo "cutting text from input" | cut -c 5-

Kuttkommandoen ovenfor kutter teksten fra den femte byten til slutten av strengen . Det kan være gunstig når du trenger å kutte fra en spesifisert tegnposisjon til slutten av inngangsstrømmen. Bare endre verdien etter b mens du holder etterfølgende.

22. Klipp fra det femte tegnet til slutten av filen

$ cut -c 5- test.txt

Denne kommandoen begynner å kutte hver av de fem radene i test.txt-filen fra deres femte tegn posisjon og vil fullføre etter å ha nådd slutten av hver linje. Den etterfølgende bindestrek (-) er obligatorisk for denne typen operasjoner.

23. Klipp ut en spesifisert mengde tegn som starter fra første posisjon

$ echo "cutting text from input" | cut -c -5

Denne kommandoen vil bare kutte de fem første tegnposisjonene til inngangen vår. Du kan klippe fra starttegnet til hvilken som helst annen karakterposisjon ved å bare erstatte verdien -c. Husk å legge til forrige bindestrek (-), ellers blir ikke utdataene de samme som du forventer.

24. Klipp fra det første tegnet til en spesifisert posisjon fra filen

$ cut -c -5 test.txt

Denne klippekommandoen i Unix vil kutte de første fem tegnene på hver linje fra filtesten. tekst. Legg merke til hvordan bindestrek (-) brukes til kommandoene 21-24 i denne listen.

Klipp ut tekst fra kolonner ved hjelp av felt og skilletegn

Klippkommandoen lar brukerne kutte deler av en tekst veldig Enkelt. For dette må vi bruke både d og f kuttflagget. D-flagget står for avgrensere og f for felt. Avgrensere er spesialtegn som skiller del av en tekst fra andre. Vanlige eksempler inkluderer ‘-‘, ‘:’ og ”” (mellomrom). Referansefilen vi bruker har ‘:’ som skilletegn.

25. Klipp den første delen av inngangsstrømmen

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1

Kuttkommandoen ovenfor kutter den første delen av teksten («La oss» i dette tilfellet) fra inngangsstrømmen. Vær oppmerksom på at verdien til avgrensningsflagget -d er et enkelt mellomrom. Prøv det med tekst avgrenset av et kolon og se hva som skjer for deg selv.

26. Klipp den første delen av en fil

$ cut -d ":" -f 1 test.txt

Denne kommandoen returnerer de første kolonnene i hver rad i referansefilen og skriver ut navnet på alle de fem landene. Verdien som ble gitt til skilletegnflagget var et kolon fordi det er slik filen vår skiller kolonnene.

27. Klipp spesifikke seksjoner av inngangsstrømmen

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1,2,3

Her instruerte vi klipp om å bare vise det første tre feltet i den gitte inngangsstrengen. Det gjøres ved hjelp av et komma-skilt utvalg av feltposisjoner. Utgangen av denne kommandoen vil være «La oss kutte dette».

28. Klipp spesifikke seksjoner av en Fil

$ cut -d ":" -f 1,2,3 test.txt

Dette co mmand vil også gi samme type utdata som forrige kommando. Her jobber cut bare med en fil i stedet for standardinngangen, det er alt. Den skal vise navnet, hovedstaden og valutaen til hvert land på listen. Merk imidlertid forskjellen mellom avgrensningene deres (mellomrom vs. kolon).

29. Klipp felt av felt fra inngangsstrømmen

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1-5

Kommandoen ovenfor vil kutte de fem første feltene i strengen og vise den i terminalen. Apostrofene kreves når det brukes mellomrom som skilletegn mellom flere felt.

30. Klipp ut feltfelt fra en fil

$ cut -d ":" -f 1-3 test.txt

Denne klippekommandoen vil kutte hver av de tre første kolonnene i tekstfilen vår og vise den som utdata. Det skal vise det samme resultatet som gitt av kommandoen foran den forrige. Apostrofene er ikke obligatoriske for tegn som – eller:.

31. Klipp hver oppføring fra et bestemt felt og oppfør dem alfabetisk

$ cut -d ":" -f 1 test.txt | awk "{print $1}" | sort

Anta at du trenger å finne ut navnene på de fem landene i listen vår i alfabetisk rekkefølge, du kan bruke kommandoen ovenfor for å gjøre dette. Den vil liste opp landene alfabetisk sortert. En erstatning i verdien av f-flagget lar deg gjøre dette på andre felt.

32. Klipp hver oppføring fra et felt og oppfør dem i alfabetisk omvendt rekkefølge

$ cut -d ":" -f 1 test.txt | awk "{print $1}" | sort -r

Denne kommandoen utfører samme operasjon som den ovennevnte, bare sorterer oppføringene i omvendt måte, det er alt. Utgangen er endret her på grunn av -r-flagget sendt til sortering.

33. Klipp fra et fast felt til slutten av inngangsstrømmen

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 2-

Denne kuttkommandoen kuttes fra det andre feltet til slutten av strengen. Det kan være gunstig når du trenger å kutte fra en spesifisert posisjon til slutten av inngangen. Du kan endre verdien på -f mens du holder etterfølgende – for å kutte fra forskjellige felt.

34. Klipp fra et fast felt til slutten av en fil

$ cut -d ":" -f 2- test.txt

Når det brukes slik, vil klippekommandoen begynne å kutte fra det angitte feltet og gå til slutten av hver linje. I dette tilfellet vil den skrive ut hovedstaden, valutaen og befolkningen i hvert av de fem landene på listen.

35. Klipp et spesifisert antall kolonner som starter fra den første

$ echo "Let"s cut this input stream section by section" | cut -d " " -f -5

Denne kommandoen vil bare kutte de fem første feltene i den gitte inngangen. Du kan kutte fra startkolonnen til hvilken som helst annen kolonneposisjon ved å bare erstatte verdien -f. Du må imidlertid legge til forrige bindestrek (-), ellers vil ikke utdataene matche forventningene dine.

36. Klipp ut noen spesifiserte kolonner i en fil som starter fra den første

$ cut -d ":" -f -2 test.txt

Denne Linux-kuttkommandoen begynner å kutte filtesten.txt fra den første kolonnen og avsluttes etter den er ferdig med å kutte den andre kommandoen. Så, utdataene fra denne kommandoen vil bare vise navnet på hvert land og deres respektive hovedsteder.

37. Klipp ut flere felt av CSV-filer

$ cut -d "," -f 1,2 file.csv

Klippekommandoen vil ofte vise seg å være et levedyktig verktøy når du jobber med massive CSV-dokumenter. Ovennevnte kommando vil for eksempel kutte de to første kolonnene i en komma-separert CSV-fil kalt file.csv.

38.Klipp spesifikke felt av CSV-filer og sorter dem i omvendt rekkefølge

$ cut -d "," -f 1,3,5 file.csv | sort -r

Kommandoen ovenfor vil kutte den første, tredje og femte kolonnen i en kommaseparert CSV filen heter file.csv og viser utdataene i omvendt rekkefølge.

Noen diverse Linux Cut Command for eksperter

Cut-kommandoen kan brukes til avansert filbehandling ved å bruke den med passende filtre og andre robuste Linux-kommandoer. Nedenfor går vi gjennom noen slike kommandoer som kan være til fordel for deg på sikt.

39. Inspiser passwd-filen ved hjelp av Cut Command

$ cut -d ":" -f1 /etc/passwd

Passwd-filen som er lagret i / etc i de fleste systemer inneholder veldig sensitiv informasjon om systemet og dets brukere. Du kan inspisere denne filen raskt ved hjelp av klippekommandoen. Avgrenseren ‘:’ brukes når kolonnene i denne filen skilles fra ved hjelp av den. Endre verdien på -f for å overvåke forskjellige felt.

40. Klipp spesifikke felt og vis bare de unike oppføringene

$ cut -d ":" -f 3 test.txt | uniq -u

Denne klippekommandoen i Linux vil kutte den tredje kolonnen i filen test.txt og bare vise de unike oppføringene . Så for denne filen vil utdataene bare inneholde tre valutaer – nemlig Euro, Lira og Yen.

41. Klipp ut alle byte av inngangsstrømmen unntatt de spesifiserte

$ echo "Let"s cut this input stream section by section" | cut -b 1,3,5,7 --complement

Denne kuttkommandoen vil kutte alle tegnene i den gitte inndatastrengen bortsett fra de som ble levert til -b. Så byteposisjonene første, tredje, femte og syvende vil bli utelatt fra utdataene.

42. Klipp alle byte i en fil unntatt de spesifiserte

$ cut -b 2,4,6 test.txt --complement

Når den brukes på denne måten, vil klippekommandoen kutte alle byte i filtesten.txt bortsett fra den som er nevnt i kommandoen. Dermed vil ikke utdataene inneholde andre, fjerde og sjette byte på hver linje.

43. Klipp ut alle tegnene i inngangsstrømmen unntatt de spesifiserte

$ echo "Let"s cut this input stream section by section" | cut -c 1,3,5,7 --complement

Denne kommandoen avstår fra å kutte første, tredje, femte og syvende tegn i inngangstrengen og i stedet kutter alle andre tegn unntatt disse fire.

44. Klipp ut alle tegn i en fil unntatt de spesifiserte

$ cut -c 2,4,6 test.txt --complement

I tilfelle denne kommandoen vil utdataene inneholde alle tegnene i test.txt-filene bortsett fra de nevnt. Så, andre, fjerde og sjette tegn vises ikke.

45. Klipp ut alle inndelingsseksjoner unntatt de spesifiserte

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1,3,5 --complement

Kommandoen ovenfor vil sende strengen «kutt inngangsseksjon for seksjon». Så det vil vise alle inngangsseksjonene uten de som er nevnt etter feltflagget.

46. Klipp ut alle kolonnene i en fil unntatt de spesifiserte

$ cut -d ":" -f 2,3 test.txt --complement

Denne kommandoen kutter bare den første og siste kolonnen i filen test.txt. Så du kan enkelt fjerne merking for noen felt når du behandler store tabeldokumenter ved hjelp av komplementflagget.

47. Klipp en del av inndata og snu dem karakteristisk

$ echo "Let"s cut this input stream section by section" | rev | cut -d " " -f 1,3

Linux-kommandoen ovenfor vil kutte den første og tredje delen av inngangen og reversere dem tegnvis. Legg merke til hvordan utgangen fra en kommando mates som inngangen til andre kommandoer.

48. Klipp spesifikke kolonner i en fil og snu dem karakteristisk

$ cut -d ":" -f 1,3 test.txt | rev

Denne kommandoen vil bare kutte de angitte feltene i filtest.txt og vise resultatet tegnet omvendt måte.

49. Endre Output Delimiter for Cut Command

$ echo "A,comma,separated,list,for,demonstration,purposes" | cut -d "," -f 1- --output-delimiter=" "

Cut lar oss endre utdataavgrenseren når vi viser resultatet. Ovennevnte kommando kutter alle deler av den kommadelte listen, men erstatter kommaene med mellomrom når resultatet vises.

50. Eksempel på Cut + Sed Command med Tab Delimiter

$ sed "s/:/\t/g" test.txt | cut -f 1-4

Den siste klippekommandoen i listen vår bruker det mektige kraftige sed-verktøyet til å erstatte kolonene i filen vår med faner . Du kan erstatte \ t med noen andre tegn som – eller; for å endre til en utskriftsavgrensning etter eget valg.

Avslutte tanker

Kuttkommandoen i Unix er et allsidig verktøy som kan hjelpe mange fordeler for brukere som trenger å behandle store filer ofte. Vi har skissert den 50 beste Linux cut-kommandoen for å hjelpe deg med å bli kjent med dette fantastiske verktøyet. Du bør prøve dem individuelt og gjøre endringer i de forskjellige tilgjengelige alternativene. Dette vil hjelpe deg med å forstå de forskjellige variantene av kuttkommandoen i dybden. Forhåpentligvis lyktes vi i vår søken etter å hjelpe deg så mye som mulig. Bli med oss for flere kommende guider om nyttige Linux-kommandoer.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *