Cut-kommandoen i linux er en kommando for å kutte ut seksjonene fra hver linje med filer og skrive resultatet til standardutdata. Den kan brukes til å kutte deler av en linje etter byteposisjon, tegn og felt. Kutt-kommandoen skjærer en linje og trekker ut teksten. Det er nødvendig å spesifisere et alternativ med en kommando ellers gir det en feil. Hvis mer enn ett filnavn er oppgitt, blir ikke data fra hver fil innledet med filnavnet.
Innholdsfortegnelse
- Syntaks for cut-kommando
- Alternativer tilgjengelig i cut Command
- Praktiske eksempler på cut Command
- Trekk ut spesifikke bytes (-b) ved å bruke cut Command
- Klipp etter tegn (-c) Bruke cut Command
- Cut by Field (-f) Bruke cut Command
- Komplementutgang (–komplement) Bruke cut Command
- Output Delimiter (–output-delimiter) Bruke cut Command
- Vis versjon (–versjon) Bruke cut Command
- Hvordan bruke hale med piper(|) i cut Command
- Ofte stilte spørsmål om cut Command i Linux – Vanlige spørsmål
Syntaks for cut-kommando
Den grunnleggende syntaksen tilcut>
kommandoen er:
cut OPTION... [FILE]...>
Hvor
`OPTION`>
spesifiserer ønsket oppførsel
` FILE>
`>
representerer inndatafilen.
Merk : HvisFILE>
er ikke spesifisert, ` cut`>
leser fra standardinngang (stdin).
Alternativer tilgjengelig i cut Command
Her er en liste over de mest brukte alternativene med ` cut`>
kommando:
Alternativ | Beskrivelse |
---|---|
-b, –bytes=LISTE | Velger bare bytene spesifisert i |
-c, –tegn=LISTE | Velger kun tegnene spesifisert i |
-d, –skilletegn=DELE | Bruker |
-f, –fields=LIS | Velger bare feltene spesifisert i |
-n | Ikke del multi-byte-tegn (ingen effekt med mindre |
-komplement | Inverter utvalget av felt/tegn. Skriv ut feltene/tegnene som ikke er valgt. |
Praktiske eksempler på cut Command
La oss vurdere to filer med navn state.txt og capital.txt inneholder 5 navn på henholdsvis de indiske delstatene og hovedstedene.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Uten noe spesifisert alternativ viser den feil.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Trekk ut spesifikke bytes (-b>
) Bruke cut Command
-b(byte): For å trekke ut de spesifikke bytene, må du følge -b-alternativet med listen over bytenummer atskilt med komma. Rekkevidde av byte kan også spesifiseres ved hjelp av bindestreken (-). Det er nødvendig å spesifisere liste over byte tall ellers gir det feil.
Tabs og backspaces behandles som et tegn på 1 byte.
Liste uten områder :
cut -b 1,2,3 state.txt>

liste uten rekkevidde
Liste med områder:
cut -b 1-3,5-7 state.txt>

liste med rekkevidde
Den bruker et spesielt skjema for å velge byte fra begynnelsen til slutten av linjen:
Spesialskjema: Velge bytes fra begynnelsen til slutten av linjen
I dette indikerer 1- fra 1. byte til endebyte på en linje
cut -b 1- state.txt>

spesiell form med -b-alternativet
I denne indikerer -3 fra 1. byte til 3. byte på en linje
cut -b -3 state.txt>

spesialform -b alternativ
Kutt etter karakter (-c>
) Bruke cut Command
-c (kolonne): For å kutte etter tegn, bruk alternativet -c. Dette velger tegnene gitt til -c-alternativet. Dette kan være en liste med tall separert komma eller et tallområde atskilt med bindestrek (-).
Tabs og backspaces blir behandlet som en karakter. Det er nødvendig å spesifisere liste over tegnnummer ellers gir det feil med dette alternativet.
Syntaks:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Her, k angir startposisjonen til karakteren og n angir sluttposisjonen til tegnet i hver linje, if k og n er atskilt med - ellers er de bare posisjonen til tegn i hver linje fra filen tatt som input.
Trekk ut spesifikke tegn:
cut -c 2,5,7 state.txt>

Trekk ut spesifikke tegn
Ovenfor cut-kommando skriver ut andre, femte og syvende tegn fra hver linje i filen.
Trekk ut de første syv tegnene:
cut -c 1-7 state.txt>

Trekk ut de første syv tegnene
Ovenfor cut-kommando 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:
Spesialskjema: Velge tegn fra begynnelsen til slutten av linjen
cut -c 1- state.txt>

velge tegn fra begynnelsen til slutten av linjen ved å bruke -c alternativet
Kommandoen ovenfor skrives ut fra første tegn til slutt. Her i kommando angis kun startposisjon og sluttposisjon er utelatt.
cut -c -5 state.txt>

velge tegn fra begynnelsen til slutten av linjen ved å bruke -c alternativet
Kommandoen ovenfor skriver ut startposisjonen til det femte tegnet. Her er startposisjonen utelatt og sluttposisjonen spesifisert.
Klipp etter felt (-f>
) Bruke cut Command
-f (felt): -c alternativet er nyttig for linjer med fast lengde. De fleste unix-filer har ikke linjer med fast lengde. For å trekke ut nyttig informasjon må du kutte etter felt i stedet for kolonner. Listen over feltnummeret må skilles med komma. Områder er ikke beskrevet med -f-alternativet . kutte opp bruker fanen som standard feltskilletegn, men kan også fungere med andre skilletegn ved å bruke -d alternativ.
Merk: Mellomrom anses ikke som skilletegn i UNIX.
Syntaks:
cut -d 'delimiter' -f (field number) file.txt>
Trekk ut første felt:
Som i filen state.txt felt er atskilt med mellomrom hvis alternativet -d ikke brukes, vil det skrive ut hele linjen:
cut -f 1 state.txt>

Trekk ut det første feltet ved å bruke -f-alternativet
Hvis ` -d` alternativet brukes, så betraktet det mellomrom som en feltseparator eller skilletegn:
cut -d ' ' -f 1 state.txt>

mellomrom som feltskilletegn eller skilletegn
Trekk ut felt 1 til 4:
Kommando skriver ut felt fra første til fjerde av hver linje fra filen.
cut -d ' ' -f 1-4 state.txt>
Kommando skriver ut felt fra første til fjerde
Komplementutgang (--complement>
) Bruke cut Command
-komplement: Som navnet antyder, utfyller den produksjonen. Dette alternativet kan brukes i kombinasjon med andre alternativer enten med -f eller med -c .
cut --complement -d ' ' -f 1 state.txt>

-komplement
cut --complement -c 5 state.txt>
-komplement
Utdataavgrensning (--output-delimiter>
) Bruke cut Command
–output-delimiter: Som standard er utgangsskilletegn det samme som inngangsskilletegn som vi spesifiserer i kuttet med -d alternativ. Bruk alternativet for å endre utdataavgrensningen –output-delimiter=skilletegn .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>
Her endrer cut-kommando skilletegn(%) i standardutgangen mellom feltene som er spesifisert ved å bruke -f-alternativet.
Vis versjon (--version>
) Bruke cut Command
-versjon: Dette alternativet brukes til å vise versjonen av cut som for øyeblikket kjører på systemet ditt.
cut --version>
vise versjon av kutt-kommandoen
Hvordan bruke hale med piper(|) i cut Command
Cut-kommandoen kan kobles sammen med mange andre kommandoer i unix. I følgende eksempel utgang av katt kommandoen er gitt som input til kutte opp kommando med -f alternativet for å sortere tilstandsnavnene som kommer fra filen state.txt i omvendt rekkefølge.
cat state.txt | cut -d ' ' -f 1 | sort -r>

bruke hale med pipe (|) i cut-kommando
Den kan også forsynes med ett eller flere filtre for ytterligere behandling. Som i det følgende eksempelet bruker vi kommandoen cat, head og cut og hvis utdata er lagret i filnavnet list.txt ved hjelp av direktiv(>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>list.txt>
cat list.txt>
min maks
omdirigere utdata i en annen fil
Ofte stilte spørsmål om cut Command i Linux – Vanlige spørsmål
Hvordan bruker jeg cut>
kommando for å trekke ut bestemte kolonner fra en fil?
Eksempel: For å trekke ut den første og tredje kolonnen fra en CSV-fil med navnet ` data.csv`>
.
cut -d',' -f1,3 data.csv>
Kan jeg bruke cut>
å trekke ut en rekke tegn fra hver linje?
Ja det kan du. For å trekke ut tegn 5 til 10 fra hver linje i en fil med navntext.txt>
.
cut -c5-10 text.txt>
Hvordan kan jeg endre skilletegnet som brukes av cut>
kommando?
Bruk ` -d`>
alternativet etterfulgt av skilletegnet. For eksempel, for å bruke et kolon (:>
) som skilletegn.
cut -d':' -f1,3 data.txt>
Er det mulig å bruke cut>
å trekke ut felt basert på karakterposisjon?
Ja, du kan spesifisere tegnposisjoner med ` -c`>
alternativ. For eksempel for å trekke ut tegnene 1 til 5 og 10 til 15 fra hver linje.
cut -c1-5,10-15 data.txt>
Hvordan bruker jeg cut>
å trekke ut felt basert på et spesifikt skilletegn og lagre dem i en ny fil?
For å trekke ut felt atskilt med komma og lagre dem i en ny fil kalt ` output.tx>
t`>
cut -d',' -f1,3 data.csv>output.txt>
Konklusjon
I denne artikkelen diskuterte vi ` cut`>
kommando i Linux som er et allsidig verktøy for å trekke ut spesifikke seksjoner fra filer basert på byteposisjon, tegn eller felt. Den skjærer tekstlinjer og sender ut de utpakkede dataene. Unnlatelse av å spesifisere et alternativ medcut>
kommandoen resulterer i en feil. Flere filer kan behandles, men utdataene inkluderer ikke filnavnene. Alternativer som ` -b`>
, ` -c`>
, og ` -f`>
tillate utvinning etter henholdsvis byte, tegn og felt. De--complement>
alternativet inverterer utvalget, skriver ut det som ikke er valgt, og--output-delimiter>
endrer utgangsskilletegn. Kommandoen inkluderer også alternativer for versjonsvisning og kan brukes i kombinasjon med andre kommandoer gjennom rør for ytterligere behandling.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L