Linux команда cut - вырезать часть текстового файла (строки).
Innholdsfortegnelse:
- Hvordan bruke kuttkommandoen
- Slik klipper du etter felt
- Hvordan kutte basert på en avgrenser
- Hvordan komplettere utvalget
- Slik spesifiserer du en utgangsavgrenser
- Hvordan klippe av Bytes and Characters
- Klipp eksempler
- Få en liste over alle brukere
- Vis 10 mest brukte kommandoer
- Konklusjon
Det er mange verktøy tilgjengelig i Linux og Unix-systemer som lar deg behandle og filtrere tekstfiler. Cut er et verktøy for kommandolinjer som lar deg klippe deler av linjer fra spesifiserte filer eller data i rør og skrive ut resultatet til standardutdata. Den kan brukes til å skjære deler av en linje etter avgrenser, byteposisjon og karakter.
I denne opplæringen vil vi vise deg hvordan du bruker Linux cut-kommandoen gjennom praktiske eksempler og detaljerte forklaringer på de vanligste kuttalternativene.
Hvordan bruke kuttkommandoen
Syntaks for klippekommandoen er som følger:
cut OPTION……
Når du bruker kuttkommandoen, må du bruke ett og bare ett av følgende alternativer:
-
-f
(---fields=LIST
) - Velg ved å spesifisere et felt, et sett med felt eller et felt med felt. Dette er det mest brukte alternativet.-b
(--bytes=LIST
) - Velg ved å spesifisere en byte, et sett med byte eller et utvalg av byte.-c
(--characters=LIST
) - Velg ved å spesifisere et tegn, et sett med tegn eller et område med tegn.
Andre alternativer er:
-
-d
(--delimiter
) - Angi en avgrenser som skal brukes i stedet for standard "TAB" avgrenser. - komplement ---complement
utvalget. Når du bruker dette alternativet, vil kutt vise alle byte, tegn eller felt bortsett fra det valgte.-s
(--only-delimited
) - Som standard vil utskriften skrive ut en linje som ikke inneholder noen avgrensningstegn. Når du bruker dette alternativet, vil kutt ikke skrive ut linjer som ikke inneholder avgrensere.--output-delimiter
- Standard er å bruke inngangsavgrenseren som utgangsavgrenser. Dette alternativet lar deg spesifisere en annen utskriftsavgrensningsstreng.
Kuttkommandoen kan godta null eller flere FIL-navn. Hvis ingen FIL er spesifisert, eller når FIL er
-
, vil klippet lese standardinngangen.
LIST-argumentet som sendes til alternativene
-f
,
-b
og
-c
, kan være et heltall, flere heltall atskilt med komma, et område med heltall eller flere heltallområder separert med kommaer. Hvert område kan være ett av følgende:
-
N
Nth-feltet, byte eller tegn, fra 1.N-
fra Nth-feltet, byte eller tegnet, til slutten av linjen.NM
fra Nth til Mth-feltet, byte eller karakter.-M
fra det første til Mth-feltet, byte eller karakter.
Slik klipper du etter felt
Cut-kommando brukes mest for å vise valgte felt fra hver linje med filer eller standardinndata. Når ikke spesifisert, er standardavgrenseren "TAB".
I eksemplene nedenfor bruker vi følgende fil. Alle felt er atskilt med faner.
test.txt
245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978
For å vise det første og det tredje feltet du bruker:
cut test.txt -f 1, 3
245:789 M:4540 535:763 M:3476
Eller hvis du vil vise fra første til fjerde felt:
cut test.txt -f -4
245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales
Hvordan kutte basert på en avgrenser
For å kutte basert på en avgrenser bruker du
-d
alternativet etterfulgt av avgrenseren du vil bruke.
For å vise første og tredje felt ved å bruke “:” som en avgrenser, skriver du for eksempel:
cut test.txt -d ':' -f 1, 3
245:4540 Admin 01 535:3476 Sales 11
Du kan bruke et hvilket som helst enkelt tegn som avgrenser. I det følgende eksemplet bruker vi mellomromstegnet som en avgrenser og skriver ut det andre feltet:
echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
Hvordan komplettere utvalget
For å utfylle
--complement
bruk alternativet
--complement
. Dette vil bare skrive ut de feltene som ikke er valgt med alternativet
-f
.
Følgende kommando skriver ut alt felt unntatt det første og det tredje:
cut test.txt -f 1, 3 --complement
4567 Admin 01:10:1980 4987 Sales 11:04:1978
Slik spesifiserer du en utgangsavgrenser
For å spesifisere output-avgrenseren, bruk alternativet
--output-delimiter
. For å sette utgangsavgrenseren til
_
vil du for eksempel bruke:
cut test.txt -f 1, 3 --output-delimiter='_'
Hvordan klippe av Bytes and Characters
La oss gjøre et skille mellom byte og tegn før vi går videre.
En byte er 8 biter og kan representere 256 forskjellige verdier. Da ASCII-standarden ble etablert, tok den hensyn til alle bokstavene, tallene og symbolene som er nødvendige for å jobbe med engelsk. ASCII-karaktertabellen har 128 tegn, og hvert tegn er representert med en byte. Da datamaskiner begynte å bli verdensomspennende, begynte teknologiselskaper å introdusere nye karakterkoder for forskjellige språk og for språk som har mer enn 256 tegn, var en enkel 1 til 1 kartlegging ikke mulig. Dette fører til forskjellige problemer som å dele dokumenter eller bla gjennom nettsteder og det var behov for en ny Unicode-standard som kan håndtere de fleste av verdens skriftsystemer. UTF-8 ble opprettet for å løse disse problemene. I UTF-8 er ikke alle tegn representert med 1 byte. Tegn kan være representert med 1 byte til 4 byte.
I de følgende eksemplene bruker vi
ü
tegnet som tar 2 byte.
Bruk alternativet
-b
(
--bytes
) for å kutte ut en del av en linje ved å spesifisere en byteposisjon.
Velg 5. byte:
echo 'drüberspringen' | cut -b 5
b
Velg 5., 9. og 13. byte:
echo 'drüberspringen' | cut -b 5, 9, 13
bpg
Velg området fra 1. til 5. byte:
echo 'drüberspringen' | cut -b 1-5
drüb
Når jeg skriver denne artikkelen, har ikke versjonen av kuttet som er bundet i GNU-kjerner, en mulighet til å klippe ut etter tegn. Når du bruker alternativet
-c
oppfører kutt seg det samme som når du bruker alternativet
-b
.
Klipp eksempler
Klippekommandoen brukes vanligvis i kombinasjon med andre kommandoer gjennom rørføring. Her er noen eksempler.
Få en liste over alle brukere
Utgangen fra
getent passwd
kommandoen sendes til å
cut
som skriver ut det første arkivet ved å bruke
:
som avgrenser.
getent passwd | cut -d ':' -f1
Vis 10 mest brukte kommandoer
I det følgende eksemplet blir kutt brukt til å stripe de første 8 byte fra hver linje i
history
.
history | cut -c8- | sort | uniq -c | sort -rn | head
Konklusjon
Nå skal du ha en god forståelse av hvordan du bruker Linux cut-kommandoen. Selv om det er veldig nyttig, har kuttkommandoen noen begrensninger. Det støtter ikke å spesifisere mer enn ett tegn som en avgrenser, og det støtter ikke flere desimeter.
kutt terminalCurl-kommando i linux med eksempler
Curl er et kommandolinjeverktøy for overføring av data fra eller til en server designet for å fungere uten brukerinteraksjon. I denne opplæringen vil vi vise deg hvordan du bruker krøllverktøyet gjennom praktiske eksempler og detaljerte forklaringer på de vanligste krøllalternativene.
Linux dato kommando med eksempler
Datokommandoen viser eller angir systemdatoen. Det er oftest brukt til å skrive ut dato og klokkeslett i forskjellige formater og beregne fremtidige og tidligere datoer.
Linux tee-kommando med eksempler
T-kommandoen leser fra standardinngang og skriver til både standardutgang og en eller flere filer på samme tid. Tee brukes ofte i kombinasjon med andre kommandoer gjennom rørføring.