Cut Command in Linux
Innehållsförteckning:
- Så här använder du kommandot Cut
- Hur man klipper efter fält
- Hur man skär ut baserat på en avgränsare
- Hur du kompletterar urvalet
- Hur man anger en utgångsavgränsare
- Hur man klipper av Bytes and Characters
- Klipp exempel
- Få en lista över alla användare
- Visa 10 mest använda kommandon
- Slutsats
Det finns många verktyg tillgängliga i Linux- och Unix-system som låter dig bearbeta och filtrera textfiler. Cut är ett verktyg för kommandorader som gör att du kan klippa delar av rader från specificerade filer eller data i rörledning och skriva ut resultatet till standardutdata. Det kan användas för att klippa delar av en linje med avgränsare, byteposition och karaktär.
I den här tutorialen kommer vi att visa dig hur du använder Linux-klippkommandot genom praktiska exempel och detaljerade förklaringar av de vanligaste klippalternativen.
Så här använder du kommandot Cut
Syntaxen för kommandot klipp är enligt följande:
cut OPTION……
När du använder klippkommandot måste du använda ett och endast ett av följande alternativ:
-
-f(--fields=LIST) - Välj genom att ange ett fält, en uppsättning fält eller ett fältintervall. Detta är det mest använda alternativet.-b(--bytes=LIST) - Välj genom att ange en byte, en uppsättning byte eller en bitgrupp.-c(--characters=LIST) - Välj genom att ange ett tecken, en uppsättning tecken eller en rad tecken.
Andra alternativ är:
-
-d(--delimiter) - Ange en avgränsare som ska användas istället för standardavgränsaren "TAB". - komplement - komplettera urvalet. När du använder det här alternativet kommer skärning att visa alla byte, tecken eller fält utom det valda.-s(--only-delimited) - Som standard kommer utskriften att skriva ut alla rader som inte innehåller någon avgränsningstecken. När du använder det här alternativet kommer skärning inte att skriva ut rader som inte innehåller avgränsare.--output-delimiter- Standard är att använda ingångsavgränsaren som utgångsavgränsare. Det här alternativet låter dig ange en annan sträng för avgränsning av utdata.
Det klippta kommandot kan acceptera noll eller fler inmatade FIL-namn. Om ingen FIL anges, eller när FIL är
-
, kommer klippet att läsa standardingången.
LIST-argumentet som skickas till alternativen
-f
,
-b
och
-c
kan vara ett heltal, flera heltal separerade med kommatecken, ett intervall med heltal eller flera heltalsområden separerade med kommatecken. Varje sortiment kan vara ett av följande:
-
NNth-fältet, byte eller tecken, från 1.N-från Nth-fältet, byte eller tecken, till slutet av raden.NMfrån Nth till Mth-fältet, byte eller karaktär.-Mfrån det första till Mth-fältet, byte eller tecken.
Hur man klipper efter fält
Klippkommando används oftast för att visa valda fält från varje rad med filer eller standardinmatningen. När det inte anges är standardavgränsaren ”TAB”.
I exemplen nedan använder vi följande fil. Alla fält är separerade med flikar.
test.txt
245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978
För att visa det första och det tredje fältet du använder:
cut test.txt -f 1, 3
245:789 M:4540 535:763 M:3476
Eller om du vill visa från fältet 1 till 4:
cut test.txt -f -4
245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales
Hur man skär ut baserat på en avgränsare
För att klippa baserat på en avgränsare använder du alternativet
-d
följt av den avgränsare du vill använda.
För att till exempel visa första och tredje fältet med “:” som en avgränsare skriver du:
cut test.txt -d ':' -f 1, 3
245:4540 Admin 01 535:3476 Sales 11
Du kan använda valfritt enskilt tecken som avgränsare. I följande exempel använder vi rymdkaraktären som en avgränsare och skriver ut det andra fältet:
echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
Hur du kompletterar urvalet
För att komplettera listan med
--complement
alternativet
--complement
. Detta kommer endast att skriva ut de fält som inte är valda med alternativet
-f
.
Följande kommando skriver ut alla fält utom det första och det tredje:
cut test.txt -f 1, 3 --complement
4567 Admin 01:10:1980 4987 Sales 11:04:1978
Hur man anger en utgångsavgränsare
För att specificera utgångsavgränsaren använder
--output-delimiter
alternativet -
--output-delimiter
. För att ställa in utgångsavgränsaren till
_
använder du till exempel:
cut test.txt -f 1, 3 --output-delimiter='_'
Hur man klipper av Bytes and Characters
Innan vi går längre, låt oss göra en åtskillnad mellan byte och tecken.
En byte är 8 bitar och kan representera 256 olika värden. När ASCII-standarden upprättades tog man hänsyn till alla bokstäver, siffror och symboler som behövs för att arbeta med engelska. ASCII-karaktärstabellen har 128 tecken och varje tecken representeras av en byte. När datorer började bli globalt populära började teknikföretag att införa nya karaktärskodningar för olika språk och för språk som har mer än 256 tecken, var en enkel kartläggning av 1 till 1 inte möjlig. Detta leder till olika problem som att dela dokument eller surfa på webbplatser och en ny Unicode-standard som kan hantera de flesta av världens skriftsystem behövdes. UTF-8 skapades för att lösa dessa problem. I UTF-8 representeras inte alla tecken med 1 byte. Tecken kan representeras med 1 byte till 4 byte.
I följande exempel använder vi tecknet
ü
som tar 2 byte.
Använd alternativet
-b
(
--bytes
) för att klippa ut en del av en rad genom att ange en byteposition.
Välj den 5: e byten:
echo 'drüberspringen' | cut -b 5
b
Välj 5: e, 9: e och 13: e byten:
echo 'drüberspringen' | cut -b 5, 9, 13
bpg
Välj intervall från 1: a till 5: e byte:
echo 'drüberspringen' | cut -b 1-5
drüb
Vid skrivandet av denna artikel har versionen av klippta paket i GNU coreutils inget alternativ att klippa ut efter tecken. När du använder alternativet
-c
fungerar klippning på samma sätt som när du använder alternativet
-b
.
Klipp exempel
Klippkommandot används vanligtvis i kombination med andra kommandon genom rörledning. Här är några exempel.
Få en lista över alla användare
Utgången från
getent passwd
kommandot passeras för att
cut
som skriver ut den första arkiverade med
:
som avgränsare.
getent passwd | cut -d ':' -f1
Visa 10 mest använda kommandon
I följande exempel används klippning för att remsa de första 8 bytena från varje rad i utgång från
history
.
history | cut -c8- | sort | uniq -c | sort -rn | head
Slutsats
Nu bör du ha en god förståelse för hur du använder kommandot Linux cut. Även om det är mycket användbart har kommandot klipp vissa begränsningar. Det stöder inte att specificera mer än ett tecken som en avgränsare och det stöder inte flera decimeter.
klipp terminalEcho-kommando i Linux med exempel
Echo-kommandot är ett av de mest grundläggande och ofta använda kommandona i Linux. Argumenten som skickas till eko skrivs ut på standardutgången.
Curl-kommando i Linux med exempel
Curl är ett kommandoradsverktyg för överföring av data från eller till en server som är utformad för att fungera utan användarinteraktion. I den här tutorialen visar vi dig hur du använder curlverktyget genom praktiska exempel och detaljerade förklaringar av de vanligaste lockalternativen.
Linux tee-kommando med exempel
Tee-kommandot läser från standardinmatning och skriver till både standardutmatning och en eller flera filer samtidigt. Tee används vanligtvis i kombination med andra kommandon genom rörledning.







