Cut-kommandoen i linux er en kommando til at skære sektionerne ud fra hver linje af filer og skrive resultatet til standardoutput. Den kan bruges til at skære dele af en linje efter byteposition, tegn og felt. Kommandoen klip skærer en linje ud og udtrækker teksten. Det er nødvendigt at angive en indstilling med en kommando, ellers giver den en fejl. Hvis der er angivet mere end ét filnavn, vil data fra hver fil ikke blive indledt med dets filnavn.
Indholdsfortegnelse
- Syntaks for cut-kommando
- Valgmuligheder tilgængelige i cut Command
- Praktiske eksempler på cut Command
- Udtræk specifikke bytes (-b) ved hjælp af cut-kommando
- Klip efter tegn (-c) Brug af cut-kommando
- Cut by Field (-f) Brug af cut Command
- Komplement output (–komplement) Brug af cut-kommando
- Output Delimiter (–output-delimiter) Brug af cut-kommando
- Vis version (–version) Brug af cut-kommando
- Sådan bruger du hale med rør(|) i cut Command
- Ofte stillede spørgsmål om cut Command i Linux – ofte stillede spørgsmål
Syntaks for cut-kommando
Den grundlæggende syntaks forcut>kommandoen er:
cut OPTION... [FILE]...>
Hvor
`OPTION`> angiver den ønskede adfærd
` FILE> `>repræsenterer inputfilen.
Bemærk : HvisFILE>er ikke angivet, ` cut`> læser fra standard input (stdin).
Valgmuligheder tilgængelige i cut Command
Her er en liste over de mest brugte muligheder med ` cut`> kommando:
| Mulighed | Beskrivelse |
|---|---|
| -b, –bytes=LISTE | Vælger kun de bytes, der er angivet i |
| -c, –characters=LISTE | Vælger kun de tegn, der er angivet i |
| -d, –delimiter=DEL | Bruger |
| -f, –felter=LIS | Vælger kun de felter, der er angivet i |
| -n | Opdel ikke multi-byte tegn (ingen effekt medmindre |
| -komplement | Inverter markeringen af felter/tegn. Udskriv de felter/tegn, der ikke er valgt. |
Praktiske eksempler på cut Command
Lad os overveje to filer med navn state.txt og capital.txt indeholder 5 navne på henholdsvis de indiske stater og hovedstæder.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Uden nogen angivet indstilling viser den fejl.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Udpak specifikke bytes (-b>) Brug af cut Command
-b(byte): For at udtrække de specifikke bytes skal du følge -b-indstillingen med listen over byte-numre adskilt med komma. Intervallet af bytes kan også angives ved hjælp af bindestregen (-). Det er nødvendigt at angive en liste over byte-numre, ellers giver det fejl.
Tabs og backspaces behandles som et tegn på 1 byte.
Liste uden intervaller :
cut -b 1,2,3 state.txt>

liste uden rækkevidde
Liste med intervaller:
cut -b 1-3,5-7 state.txt>

liste med rækkevidde
Den bruger en speciel formular til at vælge bytes fra begyndelsen til slutningen af linjen:
Speciel form: Valg af bytes fra begyndelsen til slutningen af linjen
I dette angiver 1- fra 1. byte til slutbyte på en linje
cut -b 1- state.txt>

speciel form med -b mulighed
I denne angiver -3 fra 1. byte til 3. byte af en linje
cut -b -3 state.txt>

speciel form -b mulighed
Klip efter tegn (-c>) Brug af cut Command
-c (kolonne): Brug muligheden -c for at skære efter tegn. Dette vælger de tegn, der er givet til -c-indstillingen. Dette kan være en liste over tal adskilt komma eller en række tal adskilt med bindestreg (-).
Tabs og backspaces behandles som en karakter. Det er nødvendigt at angive en liste over tegnnumre, ellers giver det fejl med denne mulighed.
Syntaks:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Her, k angiver startpositionen for karakteren og n angiver slutpositionen for tegnet i hver linje, hvis k og n er adskilt af - ellers er de kun karakterpositionen i hver linje fra filen taget som input.
Udtræk specifikke tegn:
cut -c 2,5,7 state.txt>

Uddrag specifikke tegn
Ovenfor cut-kommandoen udskriver andet, femte og syvende tegn fra hver linje i filen.
Udpak de første syv tegn:
cut -c 1-7 state.txt>

Uddrag de første syv tegn
Ovenfor cut-kommandoen udskriver de første syv tegn af hver linje fra filen. Cut bruger en speciel formular til at vælge tegn fra begyndelsen til slutningen af linjen:
Specialform: Valg af tegn fra begyndelsen til slutningen af linjen
cut -c 1- state.txt>

vælge tegn fra begyndelsen til slutningen af linjen ved hjælp af -c option
Ovenstående kommando udskriver fra første tegn til slut. Her i kommando er kun startposition angivet, og slutposition er udeladt.
cut -c -5 state.txt>

vælge tegn fra begyndelsen til slutningen af linjen ved hjælp af -c option
Ovenstående kommando udskriver startpositionen til det femte tegn. Her udelades startpositionen og slutpositionen angives.
Klip efter felt (-f>) Brug af cut Command
-f (felt): -c indstillingen er nyttig til linjer med fast længde. De fleste unix-filer har ikke linjer med fast længde. For at udtrække de nyttige oplysninger skal du skære efter felter i stedet for kolonner. Listen over felternes nummer skal adskilles med komma. Områder er ikke beskrevet med -f option . skære bruger fanen som en standard feltafgrænsning, men kan også arbejde med andre afgrænser ved at bruge -d mulighed.
Bemærk: Mellemrum betragtes ikke som afgrænsning i UNIX.
Syntaks:
cut -d 'delimiter' -f (field number) file.txt>
Udtræk det første felt:
Ligesom i filen state.txt felter adskilles med mellemrum, hvis -d mulighed ikke bruges, så udskriver den hele linjen:
cut -f 1 state.txt>

Udpak det første felt ved at bruge -f-indstillingen
Hvis ` -d` indstillingen bruges, så betragtede den rummet som en feltseparator eller skilletegn:
cut -d ' ' -f 1 state.txt>

mellemrum som feltseparator eller skilletegn
Udtræk felt 1 til 4:
Kommando udskriver felt fra første til fjerde af hver linje fra filen.
cut -d ' ' -f 1-4 state.txt>

Kommando udskriver felt fra første til fjerde
Supplerende output (--complement>) Brug af cut Command
– supplement: Som navnet antyder, supplerer det outputtet. Denne mulighed kan bruges i kombination med andre muligheder enten med -f eller med -c .
cut --complement -d ' ' -f 1 state.txt>

-komplement
cut --complement -c 5 state.txt>

-komplement
Output afgrænser (--output-delimiter>) Brug af cut Command
–output-afgrænser: Som standard er output-afgrænseren den samme som input-afgrænseren, som vi angiver i cut med -d mulighed. Brug indstillingen for at ændre output-afgrænsningen –output-delimiter=delimiter .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

Her ændrer cut-kommandoen afgrænser(%) i standardoutputtet mellem felterne, som er specificeret ved at bruge -f option .
Vis version (--version>) Brug af cut Command
-version: Denne mulighed bruges til at vise den version af cut, som i øjeblikket kører på dit system.
cut --version>

vise version af cut-kommando
Sådan bruger du hale med rør(|) i cut Command
Cut-kommandoen kan kombineres med mange andre unix-kommandoer. I det følgende eksempel output af kat kommandoen er givet som input til skære kommando med -f mulighed for at sortere tilstandsnavnene fra filen state.txt i omvendt rækkefølge.
cat state.txt | cut -d ' ' -f 1 | sort -r>

bruge hale med rør (|) i cut-kommando
Den kan også forsynes med et eller flere filtre til yderligere behandling. Ligesom i det følgende eksempel bruger vi kommandoen cat, head og cut, og hvis output er gemt i filnavnet list.txt ved hjælp af direktiv(>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>list.txt>
cat list.txt>

min max
omdirigere output i en anden fil
Ofte stillede spørgsmål om cut Command i Linux – ofte stillede spørgsmål
Hvordan bruger jeg cut> kommando til at udtrække bestemte kolonner fra en fil?
Eksempel: For at udtrække den første og tredje kolonne fra en CSV-fil med navnet ` data.csv`> .
cut -d',' -f1,3 data.csv>
Kan jeg bruge cut> at udtrække en række tegn fra hver linje?
Ja du kan. For at udtrække tegn 5 til 10 fra hver linje i en fil med navntext.txt>.
cut -c5-10 text.txt>
Hvordan kan jeg ændre den afgrænsning, der bruges af cut> kommando?
Brug ` -d`> mulighed efterfulgt af afgrænsningstegnet. For at bruge et kolon (:>) som afgrænsning.
cut -d':' -f1,3 data.txt>
Er det muligt at bruge cut> at udtrække felter baseret på karakterposition?
Ja, du kan angive tegnpositioner med ` -c`> mulighed. For eksempel at udtrække tegn 1 til 5 og 10 til 15 fra hver linje.
cut -c1-5,10-15 data.txt>
Hvordan bruger jeg cut> at udtrække felter baseret på en specifik afgrænsning og gemme dem i en ny fil?
For at udtrække felter adskilt af kommaer og gemme dem i en ny fil med navnet ` output.tx> t`>
cut -d',' -f1,3 data.csv>output.txt>
Konklusion
I denne artikel diskuterede vi ` cut`> kommando i Linux, som er et alsidigt værktøj til at udtrække specifikke sektioner fra filer baseret på byteposition, karakter eller felt. Den skærer tekstlinjer ud og udsender de udtrukne data. Manglende specificering af en indstilling medcut>kommando resulterer i en fejl. Flere filer kan behandles, men outputtet inkluderer ikke filnavnene. Indstillinger såsom ` -b`> , ` -c`> , og ` -f`> tillade udtræk efter henholdsvis byte, tegn og felt. Det--complement>option inverterer valget, udskriver det, der ikke er valgt, og--output-delimiter>ændrer output-afgrænseren. Kommandoen inkluderer også muligheder for versionsvisning og kan bruges i kombination med andre kommandoer gennem rør til yderligere behandling.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L