GeeksforGeeks (Dansk)

Cut-kommandoen i UNIX er en kommando til at klippe sektionerne ud fra hver fillinje og skrive resultatet til standardoutput. Det kan bruges til at skære dele af en linje efter byteposition, karakter og felt. Grundlæggende skiver kommandoen cut en linje og udtrækker teksten. Det er nødvendigt at specificere option med kommando, ellers giver det fejl. Hvis der er angivet mere end et filnavn, går dataene fra hver fil ikke forud for dets filnavn.

Syntaks:

cut OPTION... ...

Lad os overveje to filer med navn state.txt og capital.txt indeholder 5 navne på de indiske stater og henholdsvis hovedstæder.

$ cat state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh

Uden nogen indstilling angivet viser den fejl.

$ cut state.txtcut: you must specify a list of bytes, characters, or fieldsTry "cut --help" for more information.

Indstillinger og deres beskrivelse med eksempler:

1. -b (byte): For at udtrække de specifikke byte skal du følge -b option med listen over byte numre adskilt med komma. Område af bytes kan også specificeres ved hjælp af bindestreg (-). Det er nødvendigt at specificere listen over byte numre, ellers giver det en fejl. Faner og backspaces behandles som et tegn på 1 byte.

Det bruger en speciel form til at vælge bytes fra begyndelsen op til slutningen af 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): Hvis du vil klippe efter tegn, skal du bruge indstillingen -c. Dette vælger de tegn, der gives til -c-indstillingen. Dette kan være en liste med tal adskilt komma eller et interval af tal adskilt af bindestreg (-). Faner og backspaces behandles som et tegn. Det er nødvendigt at specificere en liste over tegnnumre, ellers giver det fejl med denne mulighed.

Syntaks:

$cut -c filename

Her betegner k karakterens startposition og n angiver slutpositionen for tegnet i hver linje, hvis k og n er adskilt af “-” ellers er de kun tegnpositionen i hver linje fra filen taget som input.

$ cut -c 2,5,7 state.txtnrrahsmirhti

Kommandoen over cut udskriver andet, femte og syvende tegn fra hver linje i filen.

$ cut -c 1-7 state.txtAndhraArunachAssamBiharChhatti

Kommandoen over klip udskriver de første syv tegn i hver linje fra filen.

Klip bruger en speciel form til at vælge tegn fra start op til slutningen af 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-indstillingen er nyttig til linjer med fast længde. De fleste unix-filer har ikke faste- længde linjer. For at udtrække de nyttige oplysninger skal du klippe efter felter snarere end kolonner. Liste over feltenummer speci fied skal adskilles med komma. Områder er ikke beskrevet med -f option. cut bruger fanen som standard feltafgrænser, men kan også arbejde med anden afgrænser ved hjælp af -d option.
Bemærk: Mellemrum betragtes ikke som afgrænser i UNIX.

Syntaks:

$cut -d "delimiter" -f (field number) file.txt

Som i filtilstanden.txt-felter adskilles med mellemrum, hvis -d-indstillingen ikke bruges, så udskriver den hele linjen:

$ cut -f 1 state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh

Hvis -d-indstillingen bruges, betragtes den som mellemrum som en feltadskiller eller afgrænser:

$ 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 supplerer det output. Denne indstilling kan bruges i kombination med andre indstillinger enten med -f eller med -c.

5. –Output-afgrænser: Som standard er output-afgrænser den samme som input-afgrænser, som vi angiver i indstillingen cut med -d. For at ændre outputafgrænsningen skal du bruge indstillingen –output-afgrænser = ”afgrænser”.

$ cut -d " " -f 1,2 state.txt --output-delimiter="%"Andhra%PradeshArunachal%PradeshAssamBiharChhattisgarh

Her skifter kommandoen skift afgrænser (%) i standardoutputtet mellem felter, som er specificeret ved hjælp af -f option.

6. –Version: Denne mulighed bruges til at vise den version af klippet, der i øjeblikket kører på dit system.

$ 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.

Anvendelser af skåret kommando

1. Sådan bruger du hale med rør (|): Cut-kommandoen kan røres med mange andre kommandoer i unix. I det følgende eksempel gives output fra cat-kommandoen som input til cut-kommandoen med -f mulighed for at sortere tilstandsnavne, der kommer fra fil state.txt i omvendt rækkefølge.

$ cat state.txt | cut -d " " -f 1 | sort -rChhattisgarhBiharAssamArunachalAndhra

Det kan også ledes med et eller flere filtre til yderligere behandling. Som i det følgende eksempel bruger vi cat, head and cut-kommandoen, og hvis output er gemt i filnavnet list.txt ved hjælp af direktivet (>).

$ cat state.txt | head -n 3 | cut -d " " -f 1 > list.txt$ cat list.txtAndhraArunachalAssam

Tak Saloni Gupta for at give flere eksempler.

Artikel-tags:

Skriv et svar

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