Cut-kommandoen bruges til at skære sektioner ud af standardinputstrømmen eller datafiler ved hjælp af Unix cut-hjælpeprogrammet. Det er en del af GNU Coreutils-pakken og BSD-basesystemet og er derfor tilgængelig på alle Linux- og BSD-systemer som standard. Klippekommandoen i Unix tillader klipning af sektioner baseret på bytepositioner, tegn eller felter adskilt af en afgrænser som ‘-‘ eller ‘:’ tegnene. Vores guide giver en praktisk introduktion til Linux cut-kommandoen ved hjælp af et godt kurateret sæt eksempler. Prøv dem sammen med at læse dette indlæg for at få førstehånds erfaring.

Eksempler på Linux Cut Command i Unix

Vores eksperter har prøvet deres bedste for at gøre denne guide er venlig for nye Linux-brugere. Derudover fungerer det som et praktisk referencepunkt for både erfarne brugere. Vi opfordrer læserne til at prøve kommandoerne, når de udforsker dem. Vi demonstrerer disse Linux Cut-kommandoer ved hjælp af både standardinput og en referencefil. Du kan kopiere og indsætte indholdet af filen herfra og oprette det i dit system.

Referencefil, der bruges til demonstrationsformål

Vi bruger en tekstfil kaldet test.txt bosat i hjemmekataloget. Filen indeholder fem rækker eller linjer, der alle indeholder fire kolonner. Hver række inkluderer navnet på et land, hendes hovedstad, valuta og befolkning; alle adskilt af skilletarmen. Opret denne fil på dit system, og udfyld den med nedenstående indhold.

Syntaks for Cut Command i Unix

Linux cut-kommandoen har nedenstående syntaks.

cut OPTION... ...

For at klippe tekst fra inputstrømmen, vi ‘ Brug ekkokommandoen og rør (|) dens output til kommandoen cut. Den samme metode kan bruges til at levere klippes input fra kat.

Klip tekst baseret på bytepositioner

Muligheden b, der leveres af klipningsværktøjet, giver os mulighed for at klippe sektioner af en tekst- baseret på deres bytepositioner. Vi er nødt til at bruge kommandoen cut med flag -b efterfulgt af byte numre til dette formål.

1. Klip kun en enkelt byte fra inputstrømmen

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

Ovenstående kommando ekko strengen “klipning af tekst fra input” til standardoutputtet og rør den som en input til cut-kommandoen. Cut-kommandoen klipper kun den første byte (c) fra denne streng, da kun 1 blev forsynet med -b-flag.

2. Klip specifikke byte fra inputstrømmen

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

Denne kommando klipper kun den første og tredje byte af strengen “klipning af tekst fra input” og viser “ct” som sin output. Prøv det med nogle forskellige bytepositioner.

3. Klipp række af byte fra inputstrømmen

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

Ovenstående kommando klipper byteområdet 1-12 fra den givne streng og udskriver “skæretekst” på standardoutputtet. Tilvejebringelse af byteområder, der ligger uden for strengens besættelse, resulterer i en meddelelse, der viser “klip: ugyldig byte eller tegninterval”.

4. Klip kun en enkelt byte fra tekstfilen

$ cut -b 1 test.txt

Denne kommando viser kun de første bytes i hver af de fem rækker inde i filen test.txt. Det svarer til kommandoen $ cat test.txt | cut -b 1

5. Klip specifikke byte fra tekstfilen

$ cut -b 1,3 test.txt

Ovenstående kommando klipper kun den første og tredje byte i hver række. kan specificere alle byte-tal, så længe de falder inden for rækkevidden af tilgængelige byte.

6. Klip række af byte fra tekstfilen

$ cut -b 1-12 test.txt

Denne kommando sender den første til tolvte byte af hver række i test.txt-filen. Du skal bemærke, at den funktionalitet, som denne kommando besidder, har den 3. kommando.

7. Klip den første 7 byte i alfabetisk rækkefølge

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

Vi kan levere output af cut-kommandoen som input til sorteringskommandoen til visning af de første syv bytes i hver række alfabetisk. Til alfabetisk sortering kræver sorteringskommandoen ingen indstillinger.

8. Klip de første 7 byte i omvendt rækkefølge

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

Denne klipskommando klipper de første 7 bytes fra hver række og udsender dem i omvendt rækkefølge. Se hvordan output fra cut-kommandoen føres til sorteringskommandoen ved hjælp af et rør.

9. Klip fra den femte byte til slutningen af inputstrømmen

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

Ovenstående klipskommando klipper teksten fra den femte byte til slutningen af strengen. Denne kommando vil være praktisk, når du skal klippe fra en specificeret byteposition til slutningen af inputstrømmen. Du skal blot ændre værdien på b-flag, mens du holder bagefter.

10. Klip fra den femte byte til slutningen af filen

$ cut -b 5- test.txt

Denne kommando begynder at klippe hver af de fem rækker af test.txt fra femte-byte-positionen, og slut kun efter hver række slutter. Den efterfølgende bindestreg (-) er obligatorisk for denne handling.

11. Klip en specificeret mængde byte startende fra den første

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

Denne kommando klipper de første fem byte af inputstrengen. Du kan klippe fra startbyten til en hvilken som helst anden byteposition ved blot at erstatte værdien for b-flag. Husk at tilføje den foregående bindestreg (-) ellers vil output ikke være som forventet.

12. Klip fra den første byte til en specificeret position fra filen

$ cut -b -5 test.txt

Ovenstående kommando klipper kun de første fem byte på hver linje fra vores tekstfil. Læg mærke til, hvordan bindestreg (()) bruges til kommandoerne 9-12 på denne liste.

Klip tekst baseret på tegn

Klippekommandoen i Unix giver brugerne mulighed for at klippe en sektion med tekst baseret på tegn. Når du håndterer store filbehandlingsopgaver, skal du gøre dette ganske ofte. Prøv dem og læg mærke til lighederne mellem karakterbaseret klipning og bytebaseret klipning.

13. Klip kun et enkelt tegn fra inputstrømmen

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

Ovenstående kommando klipper det første tegn fra standardindgangen og viser det i terminalen. I dette tilfælde er det “c”. Skift din streng til noget andet for at forstå dette tydeligt.

14. Klip specifikke tegn fra inputstrømmen

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

Denne kommando klipper kun første og tredje tegn i inputstrengen og viser dem. Du kan prøve at klippe andre tegn, men husk ikke at overskride tegngrænsen for din streng.

15. Klip række af tegn fra inputstrømmen

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

I tilfælde af denne kommando vil “klippe” klippe tegn fra den første position til den tolvte position. Resultatet bliver “klipning af tekst”. Bemærk lighederne mellem denne Linux-kommando og den tredje kommando.

16. Klip kun et enkelt tegn fra tekstfilen

$ cut -c 1 test.txt

Denne kommando viser kun de første tegn i hver af de fem rækker i vores fil test.txt. Det svarer til kommandoen $ cat test.txt | cut -c 1 og giver det samme resultat som vi ville få, når vi bruger byteflagget.

17. Klip specifikke tegn fra tekstfilen

$ cut -c 7,10 test.txt

Ovenstående kommando klipper kun det syvende og tiende tegn i hver fem række. Du kan angive alle tegnpositioner, så længe de falder inden for rækkevidden af tilgængelige tegn.

18. Klip række af tegn i tekstfilen

Denne kommando udsender det første til tolvte tegn på hver linje i test.txt-filen. Klippekommandoen i Unix opfører sig det samme, når man klipper et række tegn og rækkevidde af bytes.

19. Klip de første 5 tegn i alfabetisk rækkefølge

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

Du kan levere output fra cut-kommandoen som input til sorteringskommandoen til at klippe de første fem bytes af hver række alfabetisk. Sorteringskommandoen kræver ingen indstillinger, når du sorterer alfabetisk.

20. Klip de første 5 tegn i omvendt rækkefølge

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

Denne klipskommando klipper de første fem tegn fra hver række og viser dem efter sortering i omvendt rækkefølge. Se hvordan output fra cut-kommandoen føres til sorteringskommandoen ved hjælp af et rør.

21. Klip fra det femte tegn til slutningen af inputstrømmen

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

Ovenstående cut-kommando klipper teksten fra den femte byte til slutningen af strengen . Det kan være fordelagtigt, når du skal klippe fra en bestemt karakterposition indtil slutningen af inputstrømmen. Du skal blot ændre værdien efter b, mens du holder bagefter.

22. Klip fra det femte tegn til slutningen af filen

$ cut -c 5- test.txt

Denne kommando begynder at skære hver af de fem rækker i test.txt-filen fra deres femte tegn position og slutter efter at have nået slutningen af hver linje. Den efterfølgende bindestreg (-) er obligatorisk for denne type operation.

23. Klip en specificeret mængde tegn, der starter fra den første position

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

Denne kommando klipper kun de første fem tegnpositioner i vores input. Du kan klippe fra starttegnet til enhver anden karakterposition ved bare at erstatte værdien -c. Husk at tilføje den foregående bindestreg (-) ellers vil output ikke være det samme som du forventer.

24. Klip fra det første tegn til en specificeret position fra filen

$ cut -c -5 test.txt

Denne klipskommando i Unix klipper de første fem tegn på hver linje fra filtesten. txt. Læg mærke til hvordan bindestreg (-) bruges til kommandoerne 21-24 i denne liste.

Klip tekst fra kolonner ved hjælp af felter og afgrænsere

Klippekommandoen giver brugerne mulighed for at klippe dele af en tekst meget let. Til dette er vi nødt til at bruge både d og f skåret flag. Flagget d står for afgrænsere og f for felter. Afgrænsere er specialtegn, der adskiller afsnit af en tekst fra andre. Almindelige eksempler inkluderer ‘-‘, ‘:’ og ‘”(mellemrum). Den referencefil, vi bruger, har ‘:’ som separator.

25. Klip den første sektion af inputstrømmen

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

Ovenstående klipskommando klipper det første afsnit af tekst (“Lad os” i dette tilfælde) fra inputstrømmen. Bemærk, at værdien til afgrænsningsflagget -d er et enkelt mellemrum. Prøv det med tekst afgrænset af et kolon og se, hvad der sker for dig selv.

26. Klip den første sektion af en fil

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

Denne kommando returnerer de første kolonner i hver række inde i vores referencefil og udskriver navnet på alle de fem lande. Værdien, der er angivet til afgrænsningsflaget, var et kolon, sådan adskiller vores fil kolonnerne.

27. Klip specifikke sektioner af inputstrømmen

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

Her instruerede vi cut om kun at vise det første tre felt i den givne inputstreng. Det gøres ved hjælp af et komma-adskilt array af feltpositioner. Outputtet fra denne kommando vil være ‘Lad os klippe dette’.

28. Klip specifikke sektioner af en Fil

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

Denne co mmand vil også give den samme slags output som den forrige kommando. Her arbejder cut bare på en fil i stedet for standardindgangen, det er alt. Det skal vise hvert lands navn, kapital og valuta på listen. Bemærk dog forskellen mellem deres afgrænsere (mellemrum vs. kolon).

29. Klip felt af felter fra inputstrømmen

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

Ovenstående kommando klipper de første fem felter i strengen og viser den i terminalen. Apostroferne kræves, når der bruges plads som afgrænser mellem flere felter.

30. Klip feltinterval fra en fil

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

Denne klipskommando klipper hver af de første tre kolonner i vores tekstfil og viser den som output. Det skal vise det samme resultat som leveret af kommandoen forud for den foregående. Apostroferne er ikke obligatoriske for tegn som – eller:.

31. Klip hver post fra et specifikt felt, og oplist dem alfabetisk

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

Antag at du skal finde ud af navnene på de fem lande på vores liste i alfabetisk rækkefølge, du kan bruge ovenstående kommando til at gøre dette. Det vil liste landene sorteret alfabetisk. En erstatning i værdien af f-flag giver dig mulighed for at gøre det på andre felter ens.

32. Klip hver post fra et felt, og anfør dem i alfabetisk omvendt rækkefølge måde, det er alt. Outputtet ændres her på grund af -r-flaget, der er sendt til sortering.

33. Klip fra et fast felt til slutningen af inputstrømmen

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

Denne klipskommando klipper fra det andet felt til slutningen af strengen. Det kan være en fordel, når du skal klippe fra en bestemt position indtil slutningen af input. Du kan ændre værdien på -f, mens du holder bagefter – til klipning fra forskellige felter.

34. Klip fra et fast felt til slutningen af en fil

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

Når det bruges på denne måde, begynder klippekommandoen at klippe fra det angivne felt og gå til slutningen af hver linje. I dette tilfælde udskriver den hovedstad, valuta og befolkning i hvert af de fem lande på listen.

35. Klip et specificeret antal kolonner startende fra den første

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

Denne kommando klipper kun de første fem felter i den givne input. Du kan klippe fra startkolonnen til en hvilken som helst anden kolonneposition ved blot at erstatte værdien -f. Du skal dog tilføje den foregående bindestreg (-) ellers svarer output ikke til din forventning.

36. Klip nogle specificerede søjler i en fil startende fra den første

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

Denne Linux cut-kommando begynder at skære vores fil test.txt fra den første kolonne og afsluttes efter den er færdig med at klippe den anden kommando. Så output af denne kommando viser simpelthen navnet på hvert land og deres respektive hovedstæder.

37. Klip flere felter af CSV-filer

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

Kommandoen cut vil ofte vise sig at være et brugbart værktøj, når du arbejder med massive CSV-dokumenter. Ovenstående kommando klipper for eksempel de første to kolonner i en komma-adskilt CSV-fil kaldet file.csv.

38.Klip specifikke felter af CSV-filer, og sorter dem i omvendt rækkefølge

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

Ovenstående kommando klipper den første, tredje og femte kolonne i en komma-adskilt CSV fil med navnet file.csv og vise output i omvendt rækkefølge.

Nogle forskellige Linux Cut-kommandoer til eksperter

Cut-kommandoen kan bruges til avanceret filbehandling ved at bruge den med passende filtre og andre robuste Linux-kommandoer. Nedenfor gennemgår vi nogle sådanne kommandoer, der kan gavne dig i det lange løb.

39. Undersøg passwd-filen ved hjælp af Cut Command

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

Den passwd-fil, der er gemt inde i / etc i de fleste systemer, indeholder meget følsomme oplysninger om systemet og dets brugere. Du kan inspicere denne fil hurtigt ved hjælp af kommandoen cut. Afgrænser ‘:’ bruges, da kolonnerne i denne fil adskilles ved hjælp af den. Skift værdien for -f for at overvåge forskellige felter.

40. Klip specifikke felter, og vis kun de unikke poster

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

Denne klipskommando i Linux klipper den tredje kolonne i filen test.txt og viser kun de unikke poster . Så for denne fil vil output kun indeholde tre valutaer – nemlig Euro, Lira og Yen.

41. Klip alle Bytes af inputstrøm undtagen de angivne

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

Denne cut-kommando klipper alle tegn i den givne inputstreng undtagen dem, der leveres til -b. Så bytepositioner første, tredje, femte og syvende udelades fra output.

42. Klip alle byte i en fil bortset fra de angivne

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

Når den bruges på denne måde, klipper kommandoen cut alle bytes i filtesten.txt undtagen den der er nævnt i kommandoen. Således vil output ikke indeholde den anden, fjerde og sjette byte på hver linje.

43. Klip alle tegn i inputstrømmen undtagen de angivne

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

Denne kommando afholder sig fra at klippe den første, tredje, femte og syvende karakter i inputstrengen og i stedet for klipper alle andre tegn undtagen disse fire.

44. Klip alle tegn i en fil bortset fra de angivne

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

I tilfælde af denne kommando indeholder output alle tegn i test.txt-filerne undtagen dem nævnte. Så tegn, anden, fjerde og sjette vises ikke.

45. Klip alle indgangssektioner bortset fra de angivne enheder

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

Ovenstående kommando udsender strengen “klip input sektion for sektion”. Så det viser alle inputafsnittene uden dem, der er nævnt efter feltflagget.

46. Klip alle kolonner i en fil undtagen de angivne

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

Denne kommando klipper kun den første og sidste kolonne i filtest.txt. Så du kan let fravælge nogle felter, når du behandler store tabeldokumenter ved hjælp af komplementflagget.

47. Klip en sektion af input og vend dem karaktervist

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

Ovenstående Linux-kommando klipper den første og tredje sektion af input og vender dem tegn. Bemærk, hvordan output fra en kommando tilføres som input til andre kommandoer.

48. Klip bestemte kolonner i en fil og vend dem karaktervist

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

Denne kommando klipper kun de angivne felter i filtest.txt og viser resultatet tegnvist omvendt måde.

49. Ændr outputudskilleren for Cut Command

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

Cut giver os mulighed for at ændre outputafgrænseren, når resultatet vises. Ovenstående kommando klipper alle sektioner på den komma-adskilte liste, men erstatter kommaerne med mellemrum, når resultatet vises.

50. Eksempel på Cut + Sed Command med Tab Afgrænser

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

Den sidste cut-kommando på vores liste bruger det mægtige kraftfulde sed-værktøj til at erstatte kolonene i vores fil med faner . Du kan erstatte \ t med nogle andre tegn som – eller; for at skifte til en outputafgrænser efter eget valg.

Afslutning af tanker

Klipskommandoen i Unix er et alsidigt værktøj, der kan hjælpe adskillige fordele for brugere, der ofte skal behandle store filer. Vi har skitseret de 50 bedste Linux cut-kommandoer for at hjælpe dig med at blive fortrolig med dette fantastiske værktøj. Du skal prøve dem individuelt og foretage ændringer i de forskellige tilgængelige muligheder. Det hjælper dig med at forstå de forskellige variationer af klipskommandoen i dybden. Forhåbentlig lykkedes det os i vores søgen efter at hjælpe dig så meget som muligt. Bliv hos os for flere kommende guider om nyttige Linux-kommandoer.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *