Linux `cut`-kommando är en av de användbara kommandona för att arbeta med strängdata och filinnehåll. Den används främst för att klippa innehåll från tabelldata eller CSV-fil. Varje rad i filen kan skivas och nödvändiga data kan enkelt hämtas med kommandot `klippa ’. Den kan också användas för att klippa text efter avgränsare, tecken eller byteposition. Detta kommando har många alternativ för att klippa ut data från texten eller filen på olika sätt. Hur cut-kommandot kan användas med olika alternativ visas i denna handledning med hjälp av olika exempel.
Syntax:
ALTERNATIV-värde är obligatoriskt att använda för ”klipp” -kommandot och FIL-namn är valfritt. Om du utelämnar filnamnet i kommandot tar det data från standardinmatningen. Men om du utelämnar OPTION-värdet i klippkommandot kommer det att generera felet.
Alternativ:
Alternativtagg | Beskrivning |
-b eller –byte = LIST | Välj specifika byte. |
-c eller –character = LIST | Välj de specifika tecknen. |
-d eller –delimiter = DELIM | Välj DELIM-värde som avgränsare. Som standard är avgränsaren TAB. |
-f eller –fields = LIST | Välj de specifika fälten |
–komplement | Använd som komplement utdata |
-s eller – endast avgränsad | Utelämna rader som inte innehåller avgränsare. |
–output-delimiter = STRING | Använd STRING-värde som avgränsare. |
-z eller –nollavslutad | Använd NULL som radavgränsare. |
Exempel-1 : Klipp av byte
Följande klippkommando kommer att skära in standardinmatningsdata baserat på de definierade byten. Här definieras 3,4,5 och 6 som byte. Utgången genereras baserat på standardingången. Tryck på CTRL + D för att avsluta kommandot.
Utdata:
Här är ingången ”Jag gillar programmering” och utgången är ”som” baserat på nämnda byte.
Skapa en textfil med namnet ”productlist.txt” med följande innehåll för att använda kommandot ”klippa”. Använd TAB för att separera fälten i filinnehållet.
01 Pen $ 2
02 Penn $ 1,5
03 Radergummi $ 1
Kör följande kommando för att bara hämta produkt-ID. Här ges byte som ett intervall, ’1-2’ för att klippa data.
Output:
Exempel-2: Klipp ut efter tecken
Du kan generera samma utdata genom att använda -c-alternativet, de visas i föregående exempel. Så det finns ingen särskild skillnad mellan utdata från -b och – c-alternativ för klippkommandot. Kör följande kommando för att visa användningen av -c-alternativet. Här används 4- som ett alternativvärde som skärs från position 4 till alla återstående tecken på varje rad. Du kan också använda det negativa tecknet framför värdet som -4, då kommer det att klippas från början till fyra positioner.
Utdata:
De första tre tecknen utelämnas i utgången.
Exempel-3: Klipp av avgränsare och fält
Skapa en CSV-fil med namnet ’students.csv’ med följande innehåll för att visa användningen av avgränsare.
1002, Micheal, EEE, 3,99
1003, Asraful Haque, BBA, 3,85
1004, Momotaj Khan, engelska, 3.20
Kör följande kommando för att skriva ut studentens namn och CGPA från filen students.csv. Enligt filinnehållet innehåller det andra och fjärde fältet studentnamnet och CGPA. Så, två alternativ används i det här kommandot för att visa utdata. Den ena är avgränsaren, -d, som är ’,’ här och en annan är fältalternativ, -f.
Output:
Om du vill skriva ut två eller flera sekventiella kolumner av valfri tabelldata eller CSV-fil så kan du definiera fälten som ett intervall. Området för fältvärde används i följande kommando. Här kommer alla fälten från 2 till 4 att skrivas ut som utdata.
Output:
Exempel-4: Klipp ut efter komplement
–komplementalternativ används för att generera motsatt utdata från kommandot . I följande kommando används filen productlist.txt som skapas i det första exemplet. Här kommer alternativet -f att klippa ut det första fältet och –- kompletteringsalternativet kommer att skriva ut alla andra fält i filen genom att utelämna det första fältet.
$ cut –komplement -f 1 productlist.txt
Output:
Exempel-5: Klipp ut efter utmatningsavgränsare
Detta alternativ används för att generera utdata med hjälp av en viss avgränsare. Den tidigare skapade students.csv-filen används i följande kommando. ’,’ Är standardavgränsaren för alla CSV-filer. I följande kommando används ’:’ som avgränsningsvärde.
$ cut -d ”,” -f 1- 3 students.csv –output-delimiter = ”:”
Utdata:
Efter att kommandot har utförts kommer ingångsavgränsaren ’,’ att ersättas med utmatningsavgränsaren ’:’ och de första tre fälten kommer att skrivas ut genom att separera ’:’.
Exempel-6: Använd klipp med rörkommando
Klipp kommandot kan ta inmatning från vilken fil som helst eller från användarinmatningen. Men inmatningstext kan skickas för att klippa kommandot med röret. Följande kommando visar användningen av klippkommando med röret. Här kommer ekokommandot att ingångstexten för att klippa kommandot och klippkommandot kommer att klippa fälten 2 och 3 baserat på avgränsaren.
Utgång:
Exempel -7: Spara klippkommandoutgången till en fil
Om du vill kan du också spara klippkommandoutmatningen i valfri textfil. Följande kommando tar innehållet i filen students.csv som inmatning, skär det andra fältet baserat på avgränsaren och skriver ut utdata i en textfil med namnet ’student_names.txt’.
Output:
Slutsats:
De vanligaste användningarna av klippkommandot försöks förklara i denna handledning med hjälp av ovanstående exempel. Hoppas, användningen av klippkommandot kommer att rensas av läsarna efter att ha utövat ovanstående exempel.