cut(1p): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== NAMN == cut - klipp ut valda fält från varje rad i en fil == SYNOPS == cut -b LISTA [-n] [FIL...] cut -c LISTA [FIL...] cut -f LISTA [-d TKN] [-s] [FIL...] == BESKRIVNING == Verktyget ''cut'' klipper ut byte (-b), tecken (-c) eller fält avgränsade av ett tecken (-f) från varje rad i en eller flera filer, sammanfogar dem och skriver resultatet till standard ut. Listan (LISTA) är ett kommaseparerat (eller blankseparerat) urval av positiva tal och intervall. Int...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
== NAMN == | == NAMN == | ||
cut | cut – klipper ut valda fält från varje rad i en fil | ||
== | == SYNOPSIS == | ||
cut -b | <code>cut -b ''lista'' [-n] [fil...]</code> | ||
cut -c | <code>cut -c ''lista'' [fil...]</code> | ||
cut -f | <code>cut -f ''lista'' [-d ''avgr'' ] [-s] [fil...]</code> | ||
== BESKRIVNING == | == BESKRIVNING == | ||
Verktyget ''cut'' | Verktyget ''cut'' ska klippa ut byte (flagga -b), tecken (flagga -c) eller teckenavgränsade fält (flagga -f) från varje rad i en eller flera filer, sammanfoga dem och skriva ut resultatet till standard ut. | ||
== FLAGGOR == | |||
cut ska följa riktlinjerna i POSIX.1-2017, Avsnitt 12.2, ''Utility Syntax Guidelines''. | |||
Argumentet ''lista'' till flaggorna -b, -c och -f ska vara en kommaseparerad eller blankstegsseparerad lista av positiva tal och intervall. Exempel: | |||
* ''låg-hög'' — alla positioner från låg till hög | |||
* ''-hög'' — från 1 till hög | |||
* ''låg-'' — från låg till sista positionen | |||
Element får upprepas och förekomma i valfri ordning, men output följer ordningen i indata. Dubbletter skrivs bara en gång. | |||
Följande flaggor stöds: | |||
<b>-b ''lista''</b> | |||
Klipp baserat på bytepositioner. Varje vald byte skrivs ut, om inte -n är angiven. Det är inte ett fel att ange byte utanför radens längd. | |||
<b>-c ''lista''</b> | |||
Klipp baserat på tecken. Varje valt tecken skrivs ut. Det är inte ett fel att ange tecken som inte finns i raden. | |||
'' | <b>-d ''avgr''</b> | ||
Ange avgränsartecken för fält (standard är tabbtecken). | |||
'' | <b>-f ''lista''</b> | ||
Klipp baserat på fält separerade av avgränsartecken (se -d). Valda fält skrivs ut, åtskilda av ett avgränsartecken. Rader utan avgränsare skrivs som de är, om inte -s anges. Det är inte ett fel att välja fält som inte finns i raden. | |||
<b>-n</b> | |||
Dela inte upp tecken. Används med -b för att justera gränser till hela tecken i multibyte-sammanhang. Detaljerad algoritm beskrivs i originalmanualen. | |||
<b>-s</b> | |||
Undertryck rader utan avgränsartecken (används med -f). | |||
== OPERANDER == | == OPERANDER == | ||
<code>fil</code> | |||
Sökväg till en indatafil. Om ingen fil anges, eller om fil är '-', används standard in. | |||
== STDIN == | == STDIN == | ||
Standard in används om | Standard in används endast om inga filer anges eller om en fil är '-'. Se avsnittet INDATAFILER. | ||
== INDATAFILER == | == INDATAFILER == | ||
Indatafiler ska vara textfiler | Indatafiler ska vara textfiler, men radernas längd får vara obegränsad. | ||
== MILJÖVARIABLER == | == MILJÖVARIABLER == | ||
Följande miljövariabler påverkar körningen: | |||
<code>LANG</code> | |||
Anger standardvärden för internationalisering. | |||
<code>LC_ALL</code> | |||
Åsidosätter alla andra internationaliseringsvariabler. | |||
<code>LC_CTYPE</code> | |||
Styr tolkning av tecken (t.ex. multibyte). | |||
<code>LC_MESSAGES</code> | |||
Styr språk i felmeddelanden. | |||
<code>NLSPATH</code> | |||
Anger var meddelandekataloger finns för LC_MESSAGES. | |||
== ASYNKRONA HÄNDELSER == | == ASYNKRONA HÄNDELSER == | ||
Rad 61: | Rad 72: | ||
== STDOUT == | == STDOUT == | ||
cut skriver ut sammanfogade byte, tecken eller fält i följande format: | |||
<code>"%s\n", <sammanfogade delar></code> | |||
== STDERR == | == STDERR == | ||
Standardfel används endast för felmeddelanden. | |||
== UTDATAFILER == | == UTDATAFILER == | ||
Inga. | Inga. | ||
== | == UTFÖRLIG BESKRIVNING == | ||
Ingen. | Ingen. | ||
== AVSLUTNINGSSTATUS == | == AVSLUTNINGSSTATUS == | ||
0 | <code>0</code> – Alla indatafiler kunde behandlas | ||
>0 | <code>>0</code> – Ett fel uppstod | ||
== KONSEKVENSER AV FEL == | |||
Standard. | |||
''Följande avsnitt är informativa.'' | |||
== | == TILLÄMPNINGSTIPS == | ||
* ''cut'' och ''fold'' kan användas för att dela filer med långa rader till textfiler. | |||
* -n med -b möjliggör klippning på byte justerade till teckengränser. Exempel: | |||
<code> | |||
cut -b 1-500 -n fil > fil1 | |||
cut -b 501- -n fil > fil2 | |||
</code> | |||
Ger exakt alla tecken i ursprungsfilen, uppdelade mellan fil1 och fil2 (båda behåller radbrytningar). | |||
== EXEMPEL == | == EXEMPEL == | ||
<code> | |||
1,4,7 # första, fjärde och sjunde | |||
1-3,8 # samma som 1,2,3,8 | |||
-5,10 # samma som 1–5,10 | |||
3- # från tredje till sista | |||
</code> | |||
Kommando: | |||
<code> | |||
cut -d : -f 1,6 /etc/passwd | |||
</code> | |||
Ger rader i format: | |||
<code> | |||
användarnamn:hemdatakatalog | |||
</code> | |||
<code> | |||
cut -b 1-500 -n fil > fil1 | |||
cut -b 501- -n fil > fil2 | |||
paste -d "\0" fil1 fil2 > fil | |||
</code> | |||
== | == PRINCIPER == | ||
* Historiska implementationer behandlade ibland inte backspace rätt i -c. | |||
* POSIX förbjuder att avsluta om en fil saknas – istället sätts bara felstatus. | |||
* cut sorterar aldrig om data baserat på listans ordning – exempel: | |||
<code> | |||
echo abcdefghi | cut -c6,2,4-7,1 | |||
</code> | |||
Ger: `abdefg` | |||
Ett förslag | Ett förslag att införa -o (för att behålla listans ordning) avslogs. | ||
== FRAMTIDA | == FRAMTIDA ÄNDRINGAR == | ||
Inga. | Inga planerade. | ||
== SE ÄVEN == | == SE ÄVEN == | ||
[[fold(1p)]], [[grep(1p)]], [[paste(1p | [[fold(1p)]], [[grep(1p)]], [[paste(1p)]] | ||
POSIX.1-2017, Kapitel 8 (Miljövariabler), Avsnitt 12.2 (Syntax för verktyg) | |||
== COPYRIGHT == | == COPYRIGHT == | ||
Delar av denna text är återgivna från IEEE Std 1003.1-2017 och The Open Group Base Specifications Issue 7, 2018 Edition. Ursprunglig standard: http://www.opengroup.org/unix/online.html | |||
http://www.opengroup.org/unix/online.html | Typografiska fel i denna återgivning kan ha införts under konverteringen. Rapportera fel till: https://www.kernel.org/doc/man-pages/reporting_bugs.html | ||
Versionen från 26 mars 2025 kl. 07.48
NAMN
cut – klipper ut valda fält från varje rad i en fil
SYNOPSIS
cut -b lista [-n] [fil...]
cut -c lista [fil...]
cut -f lista [-d avgr ] [-s] [fil...]
BESKRIVNING
Verktyget cut ska klippa ut byte (flagga -b), tecken (flagga -c) eller teckenavgränsade fält (flagga -f) från varje rad i en eller flera filer, sammanfoga dem och skriva ut resultatet till standard ut.
FLAGGOR
cut ska följa riktlinjerna i POSIX.1-2017, Avsnitt 12.2, Utility Syntax Guidelines.
Argumentet lista till flaggorna -b, -c och -f ska vara en kommaseparerad eller blankstegsseparerad lista av positiva tal och intervall. Exempel:
- låg-hög — alla positioner från låg till hög
- -hög — från 1 till hög
- låg- — från låg till sista positionen
Element får upprepas och förekomma i valfri ordning, men output följer ordningen i indata. Dubbletter skrivs bara en gång.
Följande flaggor stöds:
-b lista Klipp baserat på bytepositioner. Varje vald byte skrivs ut, om inte -n är angiven. Det är inte ett fel att ange byte utanför radens längd.
-c lista Klipp baserat på tecken. Varje valt tecken skrivs ut. Det är inte ett fel att ange tecken som inte finns i raden.
-d avgr Ange avgränsartecken för fält (standard är tabbtecken).
-f lista Klipp baserat på fält separerade av avgränsartecken (se -d). Valda fält skrivs ut, åtskilda av ett avgränsartecken. Rader utan avgränsare skrivs som de är, om inte -s anges. Det är inte ett fel att välja fält som inte finns i raden.
-n Dela inte upp tecken. Används med -b för att justera gränser till hela tecken i multibyte-sammanhang. Detaljerad algoritm beskrivs i originalmanualen.
-s Undertryck rader utan avgränsartecken (används med -f).
OPERANDER
fil
Sökväg till en indatafil. Om ingen fil anges, eller om fil är '-', används standard in.
STDIN
Standard in används endast om inga filer anges eller om en fil är '-'. Se avsnittet INDATAFILER.
INDATAFILER
Indatafiler ska vara textfiler, men radernas längd får vara obegränsad.
MILJÖVARIABLER
Följande miljövariabler påverkar körningen:
LANG
Anger standardvärden för internationalisering.
LC_ALL
Åsidosätter alla andra internationaliseringsvariabler.
LC_CTYPE
Styr tolkning av tecken (t.ex. multibyte).
LC_MESSAGES
Styr språk i felmeddelanden.
NLSPATH
Anger var meddelandekataloger finns för LC_MESSAGES.
ASYNKRONA HÄNDELSER
Standard.
STDOUT
cut skriver ut sammanfogade byte, tecken eller fält i följande format:
"%s\n", <sammanfogade delar>
STDERR
Standardfel används endast för felmeddelanden.
UTDATAFILER
Inga.
UTFÖRLIG BESKRIVNING
Ingen.
AVSLUTNINGSSTATUS
0
– Alla indatafiler kunde behandlas
>0
– Ett fel uppstod
KONSEKVENSER AV FEL
Standard. Följande avsnitt är informativa.
TILLÄMPNINGSTIPS
- cut och fold kan användas för att dela filer med långa rader till textfiler.
- -n med -b möjliggör klippning på byte justerade till teckengränser. Exempel:
cut -b 1-500 -n fil > fil1
cut -b 501- -n fil > fil2
Ger exakt alla tecken i ursprungsfilen, uppdelade mellan fil1 och fil2 (båda behåller radbrytningar).
EXEMPEL
1,4,7 # första, fjärde och sjunde
1-3,8 # samma som 1,2,3,8
-5,10 # samma som 1–5,10
3- # från tredje till sista
Kommando:
cut -d : -f 1,6 /etc/passwd
Ger rader i format:
användarnamn:hemdatakatalog
cut -b 1-500 -n fil > fil1
cut -b 501- -n fil > fil2
paste -d "\0" fil1 fil2 > fil
PRINCIPER
- Historiska implementationer behandlade ibland inte backspace rätt i -c.
- POSIX förbjuder att avsluta om en fil saknas – istället sätts bara felstatus.
- cut sorterar aldrig om data baserat på listans ordning – exempel:
echo abcdefghi | cut -c6,2,4-7,1
Ger: `abdefg`
Ett förslag att införa -o (för att behålla listans ordning) avslogs.
FRAMTIDA ÄNDRINGAR
Inga planerade.
SE ÄVEN
POSIX.1-2017, Kapitel 8 (Miljövariabler), Avsnitt 12.2 (Syntax för verktyg)
COPYRIGHT
Delar av denna text är återgivna från IEEE Std 1003.1-2017 och The Open Group Base Specifications Issue 7, 2018 Edition. Ursprunglig standard: http://www.opengroup.org/unix/online.html Typografiska fel i denna återgivning kan ha införts under konverteringen. Rapportera fel till: https://www.kernel.org/doc/man-pages/reporting_bugs.html
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/cut.1p.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp Bromma som har sponsrat Linux.se med webbhotell.