Linux `cut`-kommando er en af de nyttige kommandoer til at arbejde med strengdata og filindhold. Det bruges hovedsageligt til at skære indhold fra tabeldata eller CSV-fil. Hver linje i filen kan opdeles, og de krævede data kan nemt hentes ved hjælp af kommandoen `cut ‘. Det kan også bruges til at klippe tekst efter afgrænser eller karakter eller byteposition. Denne kommando har mange muligheder for at klippe data fra teksten eller filen på forskellige måder. Hvordan cut-kommandoen kan bruges med forskellige muligheder vises i denne vejledning ved hjælp af forskellige eksempler.
Syntaks:
OPTION-værdi er obligatorisk at bruge til kommandoen `cut ‘, og FILE-navn er valgfrit. Hvis du udelader filnavnet i kommandoen, tager det data fra standardinput. Men hvis du udelader OPTION-værdien i cut-kommandoen, genererer den fejlen.
Valgmuligheder:
Optionskode | Beskrivelse |
-b eller –byte = LIST | Vælg de bestemte byte. |
-c eller –character = LIST | Vælg de bestemte tegn. |
-d eller –delimiter = DELIM | Vælg DELIM-værdi som afgrænser. Som standard er skillelinjen TAB. |
-f eller –fields = LIST | Vælg de bestemte felter |
–komplement | Brug som supplement output |
-s eller – kun-afgrænset | Undlad linjer, der ikke indeholder afgrænser. |
–output-delimiter = STRING | Brug STRING-værdi som outputafgrænser. |
-z eller –nul-afsluttet | Brug NULL som linieafgrænser. |
Eksempel-1 : Klipp af byte
Den følgende klipskommando udskærer standardinddataene baseret på de definerede byte. Her defineres 3,4,5 og 6 som bytes. Outputtet genereres baseret på standardindgangen. Tryk på CTRL + D for at afslutte kommandoen.
Output:
Her er input “Jeg kan godt lide programmering” og output er “ligesom” baseret på de nævnte byte.
Opret en tekstfil med navnet “productlist.txt” med følgende indhold til anvendelse af kommandoen “cut”. Brug TAB til at adskille felterne i filindholdet.
01 Pen $ 2
02 Blyant $ 1,5
03 Viskelæder $ 1
Kør følgende kommando for kun at hente produkt-id. Her gives bytes som et interval, ‘1-2’ for at klippe dataene.
Output:
Eksempel-2: Klip efter tegn
Du kan generere den samme output ved hjælp af -c, de er vist i de foregående eksempler. Så der er ingen særlig forskel mellem output af -b og – c valgmuligheder for kommandoen klippe. Kør følgende kommando for at vise brugen af -c mulighed. Her bruges 4- som en indstillingsværdi, der vil skære fra position 4 til alle de resterende tegn på hver linje. Du kan også bruge det negative tegn foran værdien som -4, så skæres det fra begyndelsen til 4 positioner.
Output:
De første tre tegn udelades i output.
Eksempel-3: Klip efter afgrænser og felter
Opret en CSV-fil med navnet ‘students.csv’ med følgende indhold for at vise brugen af afgrænser.
1002, Micheal, EEE, 3,99
1003, Asraful Haque, BBA, 3,85
1004, Momotaj Khan, engelsk, 3.20
Kør følgende kommando for at udskrive elevens navn og CGPA fra filen students.csv. I henhold til filindholdet indeholder det 2. og 4. felt elevens navn og CGPA. Så to muligheder bruges i denne kommando til at vise output. Den ene er afgrænseren, -d, som er ‘,’ her og en anden er feltindstilling, -f.
Output:
Hvis du vil udskriv to eller flere sekventielle kolonner af en hvilken som helst tabeldata eller CSV-fil, så kan du definere felterne som et interval. Området med feltværdi bruges i følgende kommando. Her udskrives alle felter fra 2 til 4 som output.
Output:
Eksempel-4: Klip efter komplement
–komplementeringsmulighed bruges til at generere det modsatte output af kommandoen . I den følgende kommando bruges filen productlist.txt, der oprettes i det første eksempel. Her vil -f option skære det første felt, og –komplement-indstillingen udskriver alle de andre felter i filen ved at udelade det første felt.
$ cut –komplement -f 1 productlist.txt
Output:
Eksempel 5: Klip af output-afgrænser
Denne indstilling bruges til at generere output ved hjælp af en bestemt afgrænser. Den tidligere oprettede students.csv-fil bruges i følgende kommando. ‘,’ Er standardafgrænsningen for enhver CSV-fil. Den følgende kommando bruger ‘:’ som outputafgrænsningsværdi.
$ cut -d “,” -f 1- 3 students.csv –output-delimiter = “:”
Output:
Efter udførelse af kommandoen erstattes inputafgrænser ‘,’ med outputafgrænser ‘:’ og de første tre felter udskrives ved at adskille ‘:’.
Eksempel-6: Brug cut med rørkommando
Klip kommando kan tage input fra enhver fil eller fra brugerindgangen. Men inputtekst kan sendes for at klippe kommando ved hjælp af røret. Den følgende kommando viser brugen af skåret kommando med røret. Her vil ekkokommandoen indtaste teksten for at klippe kommandoen og klippe kommandoen klippe felterne 2 og 3 ud fra afgrænsningen.
Output:
Eksempel -7: Gem udskåret kommandoudgang til en fil
Hvis du vil, kan du også gemme udskæringen af kommandoen for udskæring i en hvilken som helst tekstfil. Den følgende kommando tager indholdet af students.csv-filen som input, klipper det andet felt baseret på afgrænseren og udskriver output i en tekstfil med navnet ‘student_names.txt’.
Output:
Konklusion:
De mest almindelige anvendelser af cut-kommandoen forsøges at forklare i denne vejledning ved hjælp af ovenstående eksempler. Håber, brugen af cut-kommando vil blive ryddet af læserne efter udøvelse af ovenstående eksempler.