„Linux“ komanda iškirpti yra komanda, skirta iškirpti dalis iš kiekvienos failų eilutės ir įrašyti rezultatą į standartinę išvestį. Jis gali būti naudojamas eilutės dalims iškirpti pagal baito padėtį, simbolį ir lauką. Iškirpimo komanda supjausto eilutę ir ištraukia tekstą. Būtina nurodyti parinktį su komanda, kitaip ji pateikia klaidą. Jei pateikiamas daugiau nei vienas failo pavadinimas, prieš kiekvieno failo duomenis failo pavadinimas nenurodomas.
Turinys
- Iškirpimo komandos sintaksė
- Galimos parinktys iškirpimo komandoje
- Praktiniai iškirpimo komandos pavyzdžiai
- Išskleiskite konkrečius baitus (-b) naudodami cut komandą
- Iškirpti pagal simbolį (-c) Naudojant iškirpimo komandą
- Iškirpti pagal lauką (-f) Naudojant cut komandą
- Papildymo išvestis (–papildyti) Naudojant cut komandą
- Išvesties skyriklis (–išvesties skyriklis) Naudojant cut komandą
- Ekrano versija (–versija) Naudojant cut komandą
- Kaip naudoti uodegą su vamzdeliais (|) pjovimo komandoje
- Dažnai užduodami klausimai apie iškirptą komandą Linux sistemoje – DUK
Iškirpimo komandos sintaksė
Pagrindinė sintaksėcut>komanda yra:
cut OPTION... [FILE]...>
Kur
`OPTION`> nurodo norimą elgesį
` FILE> `>reiškia įvesties failą.
Pastaba : JeiFILE>nenurodyta, ' cut`> nuskaito iš standartinės įvesties (stdin).
Galimos parinktys iškirpimo komandoje
Čia pateikiamas dažniausiai naudojamų parinkčių sąrašas su ` cut`> komanda:
| Parinktis | apibūdinimas |
|---|---|
| -b, -baitai = SĄRAŠAS | Pasirenka tik nurodytus baitus |
| -c, –characters=LIST | Pasirenka tik nurodytus simbolius |
| -d, -ribotuvas = DIVIDE | Naudoja |
| -f, –laukai=LIS | Pasirenka tik nurodytus laukus |
| -n | Neskaidykite kelių baitų simbolių (jokio poveikio, nebent |
| – papildyti | Apverskite laukų / simbolių pasirinkimą. Spausdinkite nepasirinktus laukus/simbolius. |
Praktiniai iškirpimo komandos pavyzdžiai
Panagrinėkime du failus, turinčius pavadinimą state.txt ir Capital.txt yra atitinkamai 5 Indijos valstijų ir sostinių pavadinimai.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Nenurodžius jokios parinkties rodoma klaida.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Išskleisti konkrečius baitus (-b>) Naudojant cut komandą
-b (baitas): Norėdami išgauti konkrečius baitus, turite sekti parinktį -b su baitų numerių sąrašu, atskirtu kableliais. Baitų diapazonas taip pat gali būti nurodytas naudojant brūkšnelį (-). Būtina nurodyti baitų numerių sąrašą, kitaip bus pateikta klaida.
Tabukai ir naikinimo klavišai yra traktuojami kaip 1 baito simbolis.
Sąrašas be diapazonų :
cut -b 1,2,3 state.txt>

sąrašas be diapazono
Sąrašas su diapazonais:
cut -b 1-3,5-7 state.txt>

sąrašas su diapazonu
Ji naudoja specialią formą baitų pasirinkimui nuo eilutės pradžios iki pabaigos:
Speciali forma: baitų pasirinkimas nuo eilutės pradžios iki pabaigos
Čia 1- nurodo nuo 1-ojo baito iki eilutės pabaigos baito
cut -b 1- state.txt>

speciali forma su -b parinktimi
Čia -3 nurodo nuo 1 baito iki 3 eilutės baito
cut -b -3 state.txt>

specialios formos -b parinktis
Iškirpti pagal personažą (-c>) Naudojant cut komandą
-c (stulpelis): Norėdami iškirpti pagal simbolį, naudokite parinktį -c. Taip pasirenkami simboliai, duoti pasirinkčiai -c. Tai gali būti kableliais atskirtų skaičių sąrašas arba skaičių diapazonas, atskirtas brūkšneliu (-).
Tabukai ir naikinimo klavišai yra traktuojami kaip personažas. Būtina nurodyti simbolių skaičių sąrašą, kitaip ši parinktis duos klaidą.
Sintaksė:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Čia k žymi pradinę veikėjo padėtį ir n žymi simbolio pabaigos vietą kiekvienoje eilutėje, jei k ir n yra atskirti – kitu atveju jie yra tik simbolio padėtis kiekvienoje failo eilutėje, paimtame kaip įvestis.
Išskleiskite konkrečius simbolius:
cut -c 2,5,7 state.txt>

Išskleiskite konkrečius simbolius
Viršuje esanti komanda iškirpti spausdina antrą, penktą ir septintą simbolį iš kiekvienos failo eilutės.
Ištraukite pirmuosius septynis simbolius:
cut -c 1-7 state.txt>

Ištraukite pirmuosius septynis simbolius
Viršuje esanti komanda iškirpti atspausdina pirmuosius septynis kiekvienos failo eilutės simbolius. Iškirpti naudoja specialią formą simboliams pasirinkti nuo eilutės pradžios iki pabaigos:
Speciali forma: simbolių pasirinkimas nuo eilutės pradžios iki pabaigos
cut -c 1- state.txt>

simbolių pasirinkimas nuo eilutės pradžios iki pabaigos naudojant parinktį -c
Viršuje pateikta komanda spausdinama nuo pirmojo simbolio iki pabaigos. Čia komandoje nurodoma tik pradinė padėtis, o pabaigos padėtis praleidžiama.
cut -c -5 state.txt>

simbolių pasirinkimas nuo eilutės pradžios iki pabaigos naudojant parinktį -c
Viršuje esanti komanda spausdina pradinę padėtį iki penkto simbolio. Čia pradinė padėtis praleidžiama ir nurodoma pabaigos padėtis.
Iškirpti pagal lauką (-f>) Naudojant cut komandą
-f (laukas): -c parinktis naudinga fiksuoto ilgio linijoms. Dauguma unix failų neturi fiksuoto ilgio eilučių. Norėdami išgauti naudingą informaciją, turite iškirpti pagal laukus, o ne pagal stulpelius. Nurodytų laukų numerių sąrašas turi būti atskirtas kableliais. Diapazonai nėra aprašyti naudojant -f parinktį . supjaustyti naudoja skirtuką kaip numatytąjį lauko skyriklį, bet taip pat gali veikti su kitu skyrikliu, naudojant -d variantas.
Pastaba: UNIX tarpas nelaikomas skyrikliu.
Sintaksė:
cut -d 'delimiter' -f (field number) file.txt>
Ištraukite pirmąjį lauką:
Kaip faile state.txt laukai atskiriami tarpu, jei parinktis -d nenaudojama, tada spausdinama visa eilutė:
cut -f 1 state.txt>

Išskleiskite pirmąjį lauką naudodami parinktį -f
Jei ` -d' Naudojama parinktis, tada tarpas laikomas lauko skyrikliu arba skyrikliu:
cut -d ' ' -f 1 state.txt>

tarpas kaip lauko skyriklis arba skyriklis
Ištraukite 1–4 laukus:
Komanda spausdina lauką nuo pirmosios iki ketvirtosios kiekvienos failo eilutės.
cut -d ' ' -f 1-4 state.txt>

Komanda spausdina lauką nuo pirmo iki ketvirto
Papildyti išvestis (--complement>) Naudojant cut komandą
– papildyti: Kaip rodo pavadinimas, jis papildo produkciją. Ši parinktis gali būti naudojama kartu su kitomis parinktimis arba su -f arba su -c .
cut --complement -d ' ' -f 1 state.txt>

– papildyti
cut --complement -c 5 state.txt>

– papildyti
Išvesties skyriklis (--output-delimiter>) Naudojant cut komandą
– išvesties skyriklis: Pagal numatytuosius nustatymus išvesties skyriklis yra toks pat kaip įvesties skyriklis, kurį nurodome iškirpdami -d variantas. Norėdami pakeisti išvesties skirtuką, naudokite parinktį –išvestis-ribotuvas=ribotuvas .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

Čia iškirpimo komanda pakeičia skirtuką (%) standartinėje išvestyje tarp laukų, kurie nurodomi naudojant -f parinktį.
Ekrano versija (--version>) Naudojant cut komandą
– versija: Ši parinktis naudojama norint parodyti iškirpimo versiją, kuri šiuo metu veikia jūsų sistemoje.
cut --version>

rodyti komandos iškirpti versiją
Kaip naudoti uodegą su vamzdeliais (|) pjovimo komandoje
Iškirpimo komanda gali būti perduodama su daugeliu kitų unix komandų. Toliau pateiktame pavyzdyje išvestis katė komanda pateikiama kaip įvestis supjaustyti komandą su -f galimybė rūšiuoti būsenų pavadinimus iš failo status.txt atvirkštine tvarka.
cat state.txt | cut -d ' ' -f 1 | sort -r>

naudojant uodegą su vamzdžiu (|) pjovimo komandoje
Jis taip pat gali būti sujungtas su vienu ar daugiau filtrų papildomam apdorojimui. Kaip ir šiame pavyzdyje, mes naudojame cat, head ir cut komandą, kurios išvestis saugoma failo pavadinime list.txt naudojant direktyvą (>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>list.txt>
cat list.txt>

centos vs redhat
išvesties peradresavimas į kitą failą
Dažnai užduodami klausimai apie iškirptą komandą Linux sistemoje – DUK
Kaip aš naudoju cut> komanda išgauti konkrečius stulpelius iš failo?
Pavyzdys: Norėdami išskirti pirmąjį ir trečiąjį stulpelius iš CSV failo, pavadinto ` data.csv`> .
cut -d',' -f1,3 data.csv>
Ar galiu naudoti cut> ištraukti simbolių diapazoną iš kiekvienos eilutės?
Taip tu gali. Norėdami išgauti simbolius nuo 5 iki 10 iš kiekvienos pavadinto failo eilutėstext.txt>.
cut -c5-10 text.txt>
Kaip pakeisti skirtuką, kurį naudoja cut> komandą?
Naudokite ` -d`> parinktis, po kurios nurodomas skyriklio simbolis. Pavyzdžiui, norėdami naudoti dvitaškį (:>) kaip skirtuką.
cut -d':' -f1,3 data.txt>
Ar galima naudoti cut> išgauti laukus pagal simbolio padėtį?
Taip, simbolių vietas galite nurodyti naudodami ` -c`> variantas. Pavyzdžiui, norint ištraukti iš kiekvienos eilutės simbolius nuo 1 iki 5 ir nuo 10 iki 15.
cut -c1-5,10-15 data.txt>
Kaip aš naudoju cut> išgauti laukus pagal konkretų skyriklį ir išsaugoti juos naujame faile?
Norėdami išgauti kableliais atskirtus laukus ir išsaugoti juos naujame faile pavadinimu ` output.tx> t`>
cut -d',' -f1,3 data.csv>output.txt>
Išvada
Šiame straipsnyje aptarėme ` cut`> komanda „Linux“, kuri yra universalus įrankis, skirtas išgauti konkrečias dalis iš failų pagal baitų padėtį, simbolį ar lauką. Jis supjausto teksto eilutes ir išveda išgautus duomenis. Nepavyko nurodyti parinkties sucut>komanda sukelia klaidą. Galima apdoroti kelis failus, tačiau išvestyje nėra failų pavadinimų. Tokios parinktys kaip ` -b`> , ` -c`> , ir ` -f`> leisti išgauti atitinkamai pagal baitą, simbolį ir lauką. The--complement>parinktis apverčia pasirinkimą, spausdina tai, kas nepasirinkta, ir--output-delimiter>pakeičia išvesties skirtuką. Komanda taip pat apima versijos rodymo parinktis ir gali būti naudojama kartu su kitomis komandomis per vamzdžius papildomam apdorojimui.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L