Ukaz cut v linuxu je ukaz za izrezovanje odsekov iz vsake vrstice datotek in zapis rezultata v standardni izhod. Uporablja se lahko za rezanje delov vrstice po položaju bajta, znaku in polju. Ukaz cut razreže vrstico in izvleče besedilo. Opcijo je treba določiti z ukazom, sicer se pojavi napaka. Če je navedenih več kot eno ime datoteke, pred podatki iz vsake datoteke ni njeno ime datoteke.
Kazalo
- Sintaksa ukaza cut
- Možnosti, ki so na voljo v ukazu cut
- Praktični primeri ukaza cut
- Ekstrahirajte specifične bajte (-b) z uporabo ukaza cut
- Cut by Character (-c) Z uporabo ukaza cut
- Cut by Field (-f) Z uporabo ukaza cut
- Izhod komplementa (–komplement) z uporabo ukaza cut
- Izhodni ločilnik (–output-delimiter) Uporaba ukaza cut
- Prikaži različico (–version) z uporabo ukaza cut
- Kako uporabiti rep s cevmi (|) v ukazu cut
- Pogosto zastavljena vprašanja o ukazu cut v Linuxu – pogosta vprašanja
Sintaksa ukaza cut
Osnovna sintaksa zacut>
ukaz je:
cut OPTION... [FILE]...>
Kje
`OPTION`>
določa želeno vedenje
` FILE>
`>
predstavlja vhodno datoteko.
Opomba : ČeFILE>
ni določeno, ` cut`>
bere iz standardnega vhoda (stdin).
Možnosti, ki so na voljo v ukazu cut
Tukaj je seznam najpogosteje uporabljenih možnosti z ` cut`>
ukaz:
Možnost | Opis |
---|---|
-b, –bytes=SEZNAM | Izbere samo bajte, določene v |
-c, –znaki=SEZNAM | Izbere samo znake, določene v |
-d, –delimiter=DELIM | Uporabe |
-f, –polja=LIS | Izbere samo polja, navedena v |
-n | Ne delite večbajtnih znakov (brez učinka, razen če |
– dopolnjujejo | Obrni izbor polj/znakov. Natisnite polja/znake, ki niso izbrani. |
Praktični primeri ukaza cut
Vzemimo dve datoteki z imenom stanje.txt in capital.txt vsebuje 5 imen indijskih držav oziroma prestolnic.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Brez določene možnosti se prikaže napaka.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Izvleček specifičnih bajtov (-b>
) Uporaba ukaza cut
-b(bajt): Če želite ekstrahirati določene bajte, morate slediti možnosti -b s seznamom številk bajtov, ločenih z vejico. Obseg bajtov je mogoče določiti tudi z uporabo vezaja (-). Določiti je treba seznam številk bajtov, sicer pride do napake.
Zavihki in vračalke se obravnavajo kot znak 1 bajta.
Seznam brez obsegov :
cut -b 1,2,3 state.txt>

seznam brez obsega
Seznam z obsegi:
cut -b 1-3,5-7 state.txt>

seznam z obsegom
Uporablja posebno obliko za izbiro bajtov od začetka do konca vrstice:
Posebna oblika: izbira bajtov od začetka do konca vrstice
Pri tem 1- nakazuje od 1. bajta do končnega bajta vrstice
cut -b 1- state.txt>

posebna oblika z možnostjo -b
Pri tem -3 označuje od 1. do 3. bajta vrstice
cut -b -3 state.txt>

posebna oblika -b možnost
Cut by Character (-c>
) Uporaba ukaza cut
-c (stolpec): Za rezanje po znaku uporabite možnost -c. To izbere znake, podane možnosti -c. To je lahko seznam številk, ločenih z vejico, ali obseg številk, ločenih z vezajem (-).
Zavihki in vračalke se obravnavajo kot lik. Določiti je treba seznam številk znakov, sicer s to možnostjo pride do napake.
Sintaksa:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
tukaj, k označuje začetni položaj lika in n označuje končni položaj znaka v vsaki vrstici, če k in n so ločeni z - v nasprotnem primeru so samo položaj znaka v vsaki vrstici iz datoteke, vzete kot vhod.
Izvleček določenih znakov:
cut -c 2,5,7 state.txt>

Izvleček določenih znakov
Zgornji ukaz cut natisne drugi, peti in sedmi znak iz vsake vrstice datoteke.
Izvlecite prvih sedem znakov:
cut -c 1-7 state.txt>

Izvlecite prvih sedem znakov
Zgornji ukaz cut natisne prvih sedem znakov vsake vrstice iz datoteke. Cut uporablja poseben obrazec za izbiranje znakov od začetka do konca vrstice:
Posebna oblika: izbiranje znakov od začetka do konca vrstice
cut -c 1- state.txt>

izbiranje znakov od začetka do konca vrstice z možnostjo -c
Zgornji ukaz se natisne od prvega znaka do konca. Tukaj je v ukazu določen le začetni položaj, končni položaj pa je izpuščen.
cut -c -5 state.txt>

izbiranje znakov od začetka do konca vrstice z možnostjo -c
Zgornji ukaz natisne začetni položaj do petega znaka. Tukaj je začetni položaj izpuščen, končni položaj pa je določen.
Cut by Field (-f>
) Uporaba ukaza cut
-f (polje): -c možnost je uporabna za črte s fiksno dolžino. Večina datotek Unix nima vrstic s fiksno dolžino. Če želite pridobiti uporabne informacije, morate rezati po poljih in ne po stolpcih. Seznam navedenih številk polj mora biti ločen z vejico. Območja niso opisana z možnostjo -f . rezati uporablja zavihek kot privzeto ločilo polj, lahko pa deluje tudi z drugimi ločili z uporabo -d možnost.
Opomba: Presledek v UNIX-u ni obravnavan kot ločilo.
Sintaksa:
cut -d 'delimiter' -f (field number) file.txt>
Ekstrakt prvega polja:
Kot v datoteki stanje.txt polja so ločena s presledkom, če možnost -d ni uporabljena, potem natisne celotno vrstico:
cut -f 1 state.txt>

Izvlecite prvo polje z možnostjo -f
Če ` -d` je bila uporabljena možnost, potem je presledek obravnaval kot ločilo ali ločilo polj:
cut -d ' ' -f 1 state.txt>

presledek kot ločilo ali ločilo polj
Izvleček polj od 1 do 4:
Ukaz natisne polje od prve do četrte vsake vrstice iz datoteke.
cut -d ' ' -f 1-4 state.txt>
Ukaz natisne polje od prvega do četrtega
Izhod komplementa (--complement>
) Uporaba ukaza cut
– dopolnitev: Kot že ime pove, dopolnjuje rezultat. To možnost lahko uporabite v kombinaciji z drugimi možnostmi bodisi z -f ali z -c .
cut --complement -d ' ' -f 1 state.txt>

– dopolnjujejo
cut --complement -c 5 state.txt>
– dopolnjujejo
Izhodni ločilnik (--output-delimiter>
) Uporaba ukaza cut
– izhodni ločilnik: Privzeto je izhodno ločilo enako kot vhodno ločilo, ki ga določimo v rezu -d možnost. Za spremembo izhodnega ločila uporabite možnost –output-delimiter=ločilo .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>
Tu ukaz cut spremeni ločilo (%) v standardnem izhodu med polji, ki je podano z možnostjo -f.
Prikazna različica (--version>
) Uporaba ukaza cut
– različica: Ta možnost se uporablja za prikaz različice cut, ki se trenutno izvaja v vašem sistemu.
cut --version>
prikaz različice ukaza cut
Kako uporabiti rep s cevmi (|) v ukazu cut
Ukaz cut je mogoče povezati s številnimi drugimi ukazi unixa. V naslednjem primeru izhod za mačka ukaz je podan kot vhod v rezati ukaz z -f možnost razvrščanja imen držav, ki prihajajo iz datoteke state.txt, v obratnem vrstnem redu.
cat state.txt | cut -d ' ' -f 1 | sort -r>

uporaba repa s cevjo (|) v ukazu za rezanje
Prav tako je lahko cevovoden z enim ali več filtri za dodatno obdelavo. Tako kot v naslednjem primeru uporabljamo ukaz cat, head in cut, katerega rezultat je shranjen v ime datoteke list.txt z uporabo direktive (>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>list.txt>>
cat list.txt>
java je prazna
preusmeritev izhoda v drugo datoteko
Pogosto zastavljena vprašanja o ukazu cut v Linuxu – pogosta vprašanja
Kako naj uporabim cut>
ukaz za ekstrahiranje določenih stolpcev iz datoteke?
Primer: Če želite ekstrahirati prvi in tretji stolpec iz datoteke CSV z imenom ` data.csv`>
.
cut -d',' -f1,3 data.csv>
Ali lahko uporabim cut>
izvleči vrsto znakov iz vsake vrstice?
Ja lahko. Za ekstrahiranje znakov od 5 do 10 iz vsake vrstice datoteke z imenomtext.txt>
.
cut -c5-10 text.txt>
Kako lahko spremenim ločilo, ki ga uporablja cut>
ukaz?
Uporabite ` -d`>
možnost, ki ji sledi ločilni znak. Na primer, če želite uporabiti dvopičje (:>
) kot ločilo.
cut -d':' -f1,3 data.txt>
Ali je mogoče uporabiti cut>
ekstrahirati polja na podlagi položaja znakov?
Da, položaje znakov lahko določite z ` -c`>
možnost. Na primer, da iz vsake vrstice izvlečete znake od 1 do 5 in od 10 do 15.
cut -c1-5,10-15 data.txt>
Kako uporabljam cut>
ekstrahirati polja na podlagi določenega ločila in jih shraniti v novo datoteko?
Če želite ekstrahirati polja, ločena z vejicami, in jih shraniti v novo datoteko z imenom ` output.tx>
t`>
cut -d',' -f1,3 data.csv>output.txt>>
Zaključek
V tem članku smo razpravljali o ` cut`>
ukaz v Linuxu, ki je vsestransko orodje za ekstrahiranje določenih odsekov iz datotek na podlagi položaja bajta, znaka ali polja. Razreže vrstice besedila in izpiše ekstrahirane podatke. Neuspešna določitev možnosti zcut>
ukaz povzroči napako. Obdeluje se lahko več datotek, vendar izhod ne vključuje imen datotek. Možnosti, kot je ` -b`>
, ` -c`>
, in ` -f`>
omogočajo ekstrakcijo po bajtu, znaku oziroma polju. The--complement>
možnost obrne izbor, natisne tisto, kar ni izbrano, in--output-delimiter>
spremeni izhodno ločilo. Ukaz vključuje tudi možnosti za prikaz različice in se lahko uporablja v kombinaciji z drugimi ukazi prek cevi za dodatno obdelavo.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L