Izgriezt komanda Linux ir komanda, lai izgrieztu sadaļas no katras failu rindas un ierakstītu rezultātu standarta izvadē. To var izmantot, lai izgrieztu rindas daļas pēc baita pozīcijas, rakstzīmes un lauka. Izgriešanas komanda sagriež rindiņu un izvelk tekstu. Ir jānorāda opcija ar komandu, pretējā gadījumā tiek parādīta kļūda. Ja ir norādīts vairāk nekā viens faila nosaukums, katra faila datu priekšā netiek norādīts faila nosaukums.
Satura rādītājs
- Izgrieztas komandas sintakse
- Opcijas, kas pieejamas izgriešanas komandā
- Praktiski izgriešanas komandas piemēri
- Izvilkt konkrētus baitus (-b), izmantojot izgriešanas komandu
- Izgriezt pēc rakstzīmes (-c) Izmantojot cut komandu
- Izgriezt pēc lauka (-f) Izmantojot cut komandu
- Papildinājuma izvade (–papildināt) Izmantojot cut komandu
- Izvades norobežotājs (–izejas norobežotājs) Izmantojot cut komandu
- Displeja versija (–versija) Izmantojot komandu cut
- Kā lietot asti ar caurulēm(|) griezuma komandā
- Bieži uzdotie jautājumi par izgriezto komandu operētājsistēmā Linux — FAQ
Izgrieztas komandas sintakse
Pamata sintaksecut>komanda ir:
cut OPTION... [FILE]...>
Kur
`OPTION`> norāda vēlamo uzvedību
` FILE> `>apzīmē ievades failu.
Piezīme : JaFILE>nav norādīts, ` cut`> nolasa no standarta ievades (stdin).
Opcijas, kas pieejamas izgriešanas komandā
Šeit ir saraksts ar visbiežāk izmantotajām opcijām ar ` cut`> komanda:
| Opcija | Apraksts |
|---|---|
| -b, -baiti = SARAKSTS | Atlasa tikai norādītos baitus |
| -c, -characters=LIST | Atlasa tikai tās rakstzīmes, kas norādītas |
| -d, -delimiter=DIVIDE | Lietojumi |
| -f, -fields=LIS | Atlasa tikai norādītos laukus |
| -n | Nesadalīt vairāku baitu rakstzīmes (bez efekta, ja vien |
| – papildināt | Apgrieziet lauku/rakstzīmju atlasi. Drukājiet neatlasītos laukus/rakstzīmes. |
Praktiski izgriešanas komandas piemēri
Apskatīsim divus failus ar nosaukumu state.txt un Capital.txt satur attiecīgi 5 Indijas štatu un galvaspilsētu nosaukumus.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Ja nav norādīta neviena opcija, tas parāda kļūdu.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Izvilkt konkrētus baitus (-b>) Izmantojot cut Command
-b(baits): Lai izvilktu konkrētos baitus, jums jāievēro opcija -b ar baitu numuru sarakstu, kas atdalīts ar komatu. Baitu diapazonu var norādīt arī, izmantojot defisi (-). Ir nepieciešams norādīt baitu numuru sarakstu, pretējā gadījumā tas rada kļūdu.
Tab un backspaces tiek uzskatīti par 1 baita rakstzīmi.
Saraksts bez diapazoniem :
cut -b 1,2,3 state.txt>

saraksts bez diapazona
Saraksts ar diapazoniem:
cut -b 1-3,5-7 state.txt>

saraksts ar diapazonu
Tas izmanto īpašu formu, lai atlasītu baitus no rindas sākuma līdz beigām:
Īpaša forma: baitu atlase no rindas sākuma līdz beigām
Šajā gadījumā 1 — norāda no rindas 1. baita līdz beigu baitam
cut -b 1- state.txt>

īpaša forma ar opciju -b
Šajā gadījumā -3 norāda no rindas 1. līdz 3. baitam
cut -b -3 state.txt>

īpašas formas -b opcija
Izgriezt pēc rakstzīmes (-c>) Izmantojot cut Command
-c (kolonna): Lai izgrieztu pēc rakstzīmēm, izmantojiet opciju -c. Tas atlasa rakstzīmes, kas piešķirtas opcijai -c. Tas var būt ar komatu atdalītu skaitļu saraksts vai ar defisi (-) atdalītu skaitļu diapazons.
Tabulēšanas un atpakaļatkāpes taustiņi tiek uzskatīti par personāžu. Ir nepieciešams norādīt rakstzīmju numuru sarakstu, pretējā gadījumā šī opcija rada kļūdu.
Sintakse:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Šeit, k apzīmē rakstzīmes sākuma pozīciju un n apzīmē rakstzīmes beigu pozīciju katrā rindā, ja k un n ir atdalīti ar — pretējā gadījumā tie ir tikai rakstzīmes pozīcija katrā rindiņā no faila, kas ņemts par ievadi.
Izvilkt noteiktas rakstzīmes:
cut -c 2,5,7 state.txt>

Izvilkt noteiktas rakstzīmes
Virs izgriešanas komanda izdrukā otro, piekto un septīto rakstzīmi no katras faila rindas.
Izņemiet pirmās septiņas rakstzīmes:
cut -c 1-7 state.txt>

Izņemiet pirmās septiņas rakstzīmes
Virs izgriešanas komanda izdrukā katras faila rindas pirmās septiņas rakstzīmes. Izgriezt izmanto īpašu formu rakstzīmju atlasei no rindas sākuma līdz beigām:
Īpašā forma: rakstzīmju atlase no rindas sākuma līdz beigām
cut -c 1- state.txt>

rakstzīmju atlase no rindas sākuma līdz beigām, izmantojot opciju -c
Virs esošā komanda tiek drukāta, sākot no pirmās rakstzīmes līdz beigām. Šeit komandā ir norādīta tikai sākuma pozīcija un beigu pozīcija tiek izlaista.
cut -c -5 state.txt>

rakstzīmju atlase no rindas sākuma līdz beigām, izmantojot opciju -c
Virs komandas drukā sākuma pozīciju līdz piektajai rakstzīmei. Šeit sākuma pozīcija tiek izlaista un ir norādīta beigu pozīcija.
Izgriezt pēc lauka (-f>) Izmantojot cut Command
-f (lauks): -c opcija ir noderīga fiksēta garuma līnijām. Lielākajai daļai unix failu nav fiksēta garuma līniju. Lai iegūtu noderīgu informāciju, jums ir jāizgriež pēc laukiem, nevis kolonnām. Norādīto lauku numuru saraksts ir jāatdala ar komatu. Diapazoni nav aprakstīti ar opciju -f . griezt lietojumiem cilne kā noklusējuma lauka norobežotāju, bet var darboties arī ar citu norobežotāju, izmantojot -d opciju.
Piezīme: Atstarpe netiek uzskatīta par atdalītāju UNIX.
Sintakse:
cut -d 'delimiter' -f (field number) file.txt>
Izvilkt pirmo lauku:
Tāpat kā failā state.txt lauki tiek atdalīti ar atstarpi, ja netiek izmantota opcija -d, tiek drukāta visa rinda:
cut -f 1 state.txt>

Izvelciet pirmo lauku, izmantojot opciju -f
Ja ` -d` tiek izmantota opcija, tad tā uzskatīja atstarpi kā lauka atdalītāju vai atdalītāju:
cut -d ' ' -f 1 state.txt>

telpa kā lauka atdalītājs vai norobežotājs
Izvilkt laukus no 1 līdz 4:
Komanda izdrukā lauku no katras faila rindas pirmās līdz ceturtajai daļai.
cut -d ' ' -f 1-4 state.txt>

Komanda izdrukā lauku no pirmā līdz ceturtajam
Papildināt izvadi (--complement>) Izmantojot cut Command
- papildināt: Kā norāda nosaukums, tas papildina produkciju. Šo opciju var izmantot kombinācijā ar citām opcijām vai nu ar -f vai ar -c .
cut --complement -d ' ' -f 1 state.txt>

– papildināt
cut --complement -c 5 state.txt>

– papildināt
Izvades norobežotājs (--output-delimiter>) Izmantojot cut Command
-izejas norobežotājs: Pēc noklusējuma izvades atdalītājs ir tāds pats kā ievades atdalītājs, ar kuru mēs norādām izgriezumu -d opciju. Lai mainītu izvades atdalītāju, izmantojiet opciju -output-delimiter = norobežotājs .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

Šeit izgriešanas komanda maina norobežotāju(%) standarta izvadē starp laukiem, kas tiek norādīti, izmantojot opciju -f .
Displeja versija (--version>) Izmantojot cut Command
- versija: Šī opcija tiek izmantota, lai parādītu izgriezuma versiju, kas pašlaik darbojas jūsu sistēmā.
cut --version>

parādīt izgriešanas komandas versiju
Kā lietot asti ar caurulēm(|) griezuma komandā
Izgriezt komandu var ievadīt ar daudzām citām unix komandām. Nākamajā piemērā izvade kaķis komanda tiek dota kā ievade griezt komanda ar -f iespēja kārtot štatu nosaukumus no faila state.txt apgrieztā secībā.
cat state.txt | cut -d ' ' -f 1 | sort -r>

izmantojot asti ar cauruli (|) griešanas komandā
To var arī savienot ar vienu vai vairākiem filtriem papildu apstrādei. Tāpat kā nākamajā piemērā, mēs izmantojam komandu cat, head un cut, un kuras izvade tiek saglabāta faila nosaukumā list.txt, izmantojot direktīvu (>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>list.txt>
cat list.txt>

cipari alfabētā
izvades novirzīšana citā failā
Bieži uzdotie jautājumi par izgriezto komandu operētājsistēmā Linux — FAQ
Kā es varu izmantot cut> komandu, lai no faila izvilktu noteiktas kolonnas?
Piemērs: lai izvilktu pirmo un trešo kolonnu no CSV faila ar nosaukumu ` data.csv`> .
cut -d',' -f1,3 data.csv>
Vai es varu izmantot cut> lai no katras rindiņas izvilktu rakstzīmju diapazonu?
Jā tu vari. Lai izvilktu rakstzīmes no 5 līdz 10 no katras nosauktā faila rindastext.txt>.
cut -c5-10 text.txt>
Kā es varu mainīt atdalītāju, ko izmanto cut> komanda?
Izmantojiet ` -d`> opciju, kam seko norobežotāja rakstzīme. Piemēram, lai izmantotu kolu (:>) kā norobežotāju.
cut -d':' -f1,3 data.txt>
Vai ir iespējams izmantot cut> izvilkt laukus, pamatojoties uz rakstzīmju pozīciju?
Jā, jūs varat norādīt rakstzīmju pozīcijas ar ` -c`> opciju. Piemēram, lai no katras rindas izvilktu rakstzīmes no 1 līdz 5 un no 10 līdz 15.
cut -c1-5,10-15 data.txt>
Kā lietot cut> lai izvilktu laukus, kuru pamatā ir noteikts norobežotājs, un saglabātu tos jaunā failā?
Lai izvilktu ar komatiem atdalītus laukus un saglabātu tos jaunā failā ar nosaukumu ` output.tx> t`>
cut -d',' -f1,3 data.csv>output.txt>
Secinājums
Šajā rakstā mēs apspriedām ` cut`> komanda Linux, kas ir daudzpusīgs rīks konkrētu sadaļu izvilkšanai no failiem, pamatojoties uz baita pozīciju, rakstzīmi vai lauku. Tas sagriež teksta rindiņas un izvada iegūtos datus. Nespēja norādīt opciju arcut>komanda rada kļūdu. Var apstrādāt vairākus failus, taču izvade neietver failu nosaukumus. Opcijas, piemēram, ` -b`> , ` -c`> , un ` -f`> ļauj iegūt attiecīgi pēc baita, rakstzīmes un lauka. The--complement>opcija apgriež atlasi, izdrukājot to, kas nav atlasīts, un--output-delimiter>maina izvades norobežotāju. Komanda ietver arī versijas parādīšanas opcijas, un to var izmantot kopā ar citām komandām, izmantojot caurules papildu apstrādei.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L