Kuttkommandoen i UNIX er en kommando for å kutte ut delene fra hver linje med filer og skrive resultatet til standard utdata. Den kan brukes til å kutte deler av en linje etter byteposisjon, karakter og felt. I utgangspunktet kutter kommandoen en linje og trekker ut teksten. Det er nødvendig å spesifisere alternativ med kommando, ellers gir det feil. Hvis mer enn ett filnavn er oppgitt, kommer ikke data fra hver fil foran filnavnet.
Syntaks:
cut OPTION... ...
La oss se på to filer som har navnet state.txt og capital.txt inneholder 5 navn på de indiske delstatene og henholdsvis hovedsteder.
$ cat state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh
Uten noe spesifisert alternativ viser det feil.
$ cut state.txtcut: you must specify a list of bytes, characters, or fieldsTry "cut --help" for more information.
Alternativer og deres beskrivelse med eksempler:
1. -b (byte): For å trekke ut de spesifikke bytene, må du følge -b-alternativet med listen over byte tall atskilt med komma. Byteområde kan også spesifiseres ved hjelp av bindestreket (-). Det er nødvendig å spesifisere listen over byte tall ellers gir det feil. Faner og bakrom blir behandlet som et tegn på 1 byte.
Den bruker et spesielt skjema for å velge byte fra begynnelsen til slutten av linjen:
In this, 1- indicate from 1st byte to end byte of a line$ cut -b 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhIn this, -3 indicate from 1st byte to 3rd byte of a line$ cut -b -3 state.txtAndAruAssBihChh
2. -c (kolonne): For å klippe etter tegn, bruk alternativet -c. Dette velger tegnene som er gitt til -c-alternativet. Dette kan være en liste med tallskilt komma eller et rekke tall skilt med bindestrek (-). Faner og backspaces behandles som et tegn. Det er nødvendig å spesifisere en liste over tegnnumre, ellers gir det feil med dette alternativet.
Syntaks:
$cut -c filename
Her betegner k startposisjonen til tegnet og n betegner sluttposisjonen til tegnet i hver linje, hvis k og n er atskilt med «-» ellers er de bare tegnets posisjon i hver linje fra filen tatt som en inngang.
$ cut -c 2,5,7 state.txtnrrahsmirhti
Kommandoen over kuttet skriver ut andre, femte og syvende tegn fra hver linje i filen.
$ cut -c 1-7 state.txtAndhraArunachAssamBiharChhatti
Over cut-kommandoen skriver ut de første syv tegnene på hver linje fra filen.
Cut bruker et spesielt skjema for å velge tegn fra begynnelsen til slutten av linjen:
$ cut -c 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhAbove command prints starting from first character to end. Here in command only startingposition is specified and the ending position is omitted.$ cut -c -5 state.txtAndhrArunaAssamBiharChhatAbove command prints starting position to the fifth character. Here the starting positionis omitted and the ending position is specified.
3. -f (felt): -c-alternativet er nyttig for linjer med fast lengde. De fleste unix-filer har ikke faste- lengdelinjer. For å hente ut nyttig informasjon må du kutte etter felt i stedet for kolonner. Liste over feltnummer spesif fied må skilles med komma. Områder er ikke beskrevet med alternativet -f. klipp bruker fanen som standard feltavgrenser, men kan også fungere med annen avgrenser ved å bruke alternativet -d.
Merk: Plass regnes ikke som avgrenser i UNIX.
Syntaks:
$cut -d "delimiter" -f (field number) file.txt
Som i filtilstanden. txt-felt er atskilt med mellomrom hvis alternativet -d ikke brukes, så skrives det ut hele linjen:
$ cut -f 1 state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh
Hvis alternativet -d brukes, betraktes det mellomrom som en feltskiller eller skilletegn:
$ cut -d " " -f 1 state.txtAndhraArunachalAssamBiharChhattisgarh
Command prints field from first to fourth of each line from the file.Command:$ cut -d " " -f 1-4 state.txtOutput:Andhra PradeshArunachal PradeshAssamBiharChhattisgarh
4. –Komplement: Som navnet antyder kompletterer det produksjonen. Dette alternativet kan brukes i kombinasjon med andre alternativer enten med -f eller med -c.
5. –Output-delimiter: Som standard er output-skilletegn det samme som input-skilletegn som vi spesifiserer i kuttet med -d alternativet. For å endre utgangsavgrenseren, bruk alternativet –output-avgrenser = ”avgrenser”.
$ cut -d " " -f 1,2 state.txt --output-delimiter="%"Andhra%PradeshArunachal%PradeshAssamBiharChhattisgarh
Her kutt kommandoen endrer avgrenseren (%) i standardutgangen mellom felt som er spesifisert ved å bruke -f-alternativet.
6. –Versjon: Dette alternativet brukes til å vise versjonen av klippet som for øyeblikket kjører på systemet ditt.
$ cut --versioncut (GNU coreutils) 8.26Packaged by Cygwin (8.26-2)Copyright (C) 2016 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later .This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.Written by David M. Ihnat, David MacKenzie, and Jim Meyering.
Programmer for kuttkommando
1. Slik bruker du hale med rør (|): Kuttkommandoen kan røres med mange andre kommandoer i unix. I det følgende eksemplet blir utdata fra kattkommandoen gitt som inngang til kuttkommandoen med -f-alternativet for å sortere tilstandsnavnene som kommer fra filtilstand.txt i omvendt rekkefølge.
$ cat state.txt | cut -d " " -f 1 | sort -rChhattisgarhBiharAssamArunachalAndhra
Den kan også røres med ett eller flere filtre for ytterligere behandling. Som i det følgende eksemplet bruker vi cat, head and cut-kommandoen og hvis utdata er lagret i filnavnet listen.txt ved hjelp av direktivet (>).
$ cat state.txt | head -n 3 | cut -d " " -f 1 > list.txt$ cat list.txtAndhraArunachalAssam
Takk Saloni Gupta for å gi flere eksempler.