GeeksforGeeks (Svenska)

Klippkommandot i UNIX är ett kommando för att klippa ut sektionerna från varje filrad och skriva resultatet till standardutdata. Den kan användas för att klippa delar av en linje efter byteposition, karaktär och fält. I grund och botten skär kommandot en rad och extraherar texten. Det är nödvändigt att ange alternativ med kommando annars ger det fel. Om mer än ett filnamn anges kommer inte data från varje fil före dess filnamn.

Syntax:

cut OPTION... ...

Låt oss överväga två filer med namnet state.txt och capital.txt innehåller 5 namn på de indiska delstaterna och respektive huvudstäder.

$ cat state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh

Utan något alternativ anges visar det fel.

$ cut state.txtcut: you must specify a list of bytes, characters, or fieldsTry "cut --help" for more information.

Alternativ och deras beskrivning med exempel:

1. -b (byte): För att extrahera specifika byte måste du följa -b-alternativet med listan över byte-nummer åtskilda med komma. Räckvidd för byte kan också anges med bindestrecket (-). Det är nödvändigt att ange en lista över byte-nummer annars ger det fel. Flikar och bakre utrymmen behandlas som ett tecken på 1 byte.

Den använder en speciell form för att välja byte från början till slutet av raden:

In this, 1- indicate from 1st byte to end byte of a line$ cut -b 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhIn this, -3 indicate from 1st byte to 3rd byte of a line$ cut -b -3 state.txtAndAruAssBihChh

2. -c (kolumn): Om du vill klippa ut efter tecken använder du alternativet -c. Detta väljer de tecken som ges till alternativet -c. Detta kan vara en lista med siffror separerade med kommatecken eller ett intervall med siffror åtskilda av bindestreck (-). Flikar och bakre utrymmen behandlas som ett tecken. Det är nödvändigt att ange en lista med teckennummer annars ger det fel med detta alternativ.

Syntax:

$cut -c filename

Här betecknar k karaktärens startposition och n betecknar karaktärens slutposition i varje rad, om k och n är åtskilda av ”-” annars är de bara karaktärspositionen i varje rad från filen som tas som inmatning.

$ cut -c 2,5,7 state.txtnrrahsmirhti

Ovanför klippkommandot skrivs ut andra, femte och sjunde tecknet från varje rad i filen.

$ cut -c 1-7 state.txtAndhraArunachAssamBiharChhatti

Kommandot ovanför utskärningen skriver ut de första sju tecknen på varje rad från filen.

Klipp använder ett särskilt formulär för att välja tecken från början till slutet av raden:

$ cut -c 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhAbove command prints starting from first character to end. Here in command only startingposition is specified and the ending position is omitted.$ cut -c -5 state.txtAndhrArunaAssamBiharChhatAbove command prints starting position to the fifth character. Here the starting positionis omitted and the ending position is specified.

3. -f (fält): -c-alternativet är användbart för rader med fast längd. De flesta unix-filer har inte fast- längdlinjer. För att extrahera användbar information måste du klippa ut efter fält snarare än kolumner. Lista över fältens antal specif måste avgränsas med komma. Områden beskrivs inte med -f-alternativet. klipp använder fliken som standardfältavgränsare men kan också arbeta med annan avgränsare med alternativet -d.
Obs! Utrymmet anses inte som avgränsare i UNIX.

Syntax:

$cut -d "delimiter" -f (field number) file.txt

Som i filtillståndet. txt-fält är åtskilda av mellanslag om -d-alternativet inte används så skrivs hela raden ut:

$ cut -f 1 state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh

Om alternativet -d används, betraktades det utrymme som en fältseparator eller avgränsare:

$ cut -d " " -f 1 state.txtAndhraArunachalAssamBiharChhattisgarh
Command prints field from first to fourth of each line from the file.Command:$ cut -d " " -f 1-4 state.txtOutput:Andhra PradeshArunachal PradeshAssamBiharChhattisgarh

4. –Komplement: Som namnet antyder kompletterar det produktionen. Detta alternativ kan användas i kombination med andra alternativ antingen med -f eller med -c.

5. –Output-avgränsare: Som standard är utmatningsavgränsaren densamma som ingångsavgränsare som vi anger i alternativet klipp med -d. För att ändra utmatningsavgränsaren, använd alternativet –output-avgränsare = ”avgränsare”.

$ cut -d " " -f 1,2 state.txt --output-delimiter="%"Andhra%PradeshArunachal%PradeshAssamBiharChhattisgarh

Här ändrar kommandot avgränsare (%) i standardutgången mellan fält som anges med alternativet -f.

6. –Version: Detta alternativ används för att visa den version av klipp som för närvarande körs på ditt system.

$ cut --versioncut (GNU coreutils) 8.26Packaged by Cygwin (8.26-2)Copyright (C) 2016 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later .This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.Written by David M. Ihnat, David MacKenzie, and Jim Meyering.

Tillämpningar av klippt kommando

1. Hur man använder svans med rör (|): Klippkommandot kan pipas med många andra kommandon i unix. I följande exempel ges utdata från kat-kommandot som inmatning till klippkommandot med -f-alternativet för att sortera tillståndsnamnen som kommer från filtillstånd.txt i omvänd ordning.

$ cat state.txt | cut -d " " -f 1 | sort -rChhattisgarhBiharAssamArunachalAndhra

Det kan också ledas med ett eller flera filter för ytterligare bearbetning. Liksom i följande exempel använder vi kommandot cat, head and cut och vars utdata lagras i filnamnlistan.txt med hjälp av direktivet (>).

$ cat state.txt | head -n 3 | cut -d " " -f 1 > list.txt$ cat list.txtAndhraArunachalAssam

Tack Saloni Gupta för att ge fler exempel.

Artikeltaggar:

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *