cut(1p): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(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...')
 
Ingen redigeringssammanfattning
Rad 1: Rad 1:
== NAMN ==
== NAMN ==
cut - klipp ut valda fält från varje rad i en fil
cut – klipper ut valda fält från varje rad i en fil


== SYNOPS ==
== SYNOPSIS ==
cut -b LISTA [-n] [FIL...]
<code>cut -b ''lista'' [-n] [fil...]</code> 
cut -c LISTA [FIL...]
<code>cut -c ''lista'' [fil...]</code> 
cut -f LISTA [-d TKN] [-s] [FIL...]
<code>cut -f ''lista'' [-d ''avgr'' ] [-s] [fil...]</code>


== BESKRIVNING ==
== 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.
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.


Listan (LISTA) är ett kommaseparerat (eller blankseparerat) urval av positiva tal och intervall. Intervall kan anges som LÅG-HÖG, -HÖG (från början till HÖG) eller LÅG- (från LÅG till slutet).
== 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:


== FLAGGOR ==
<b>-b ''lista''</b> 
'''-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.
: Välj byte enligt angiven lista.


'''-c LISTA'''
<b>-c ''lista''</b> 
: Välj tecken enligt angiven lista.
 Klipp baserat på tecken. Varje valt tecken skrivs ut. Det är inte ett fel att ange tecken som inte finns i raden.


'''-f LISTA'''
<b>-d ''avgr''</b> 
: Välj fält enligt angiven lista. Används tillsammans med '''-d''' för att ange avgränsare.
 Ange avgränsartecken för fält (standard är tabbtecken).


'''-d TKN'''
<b>-f ''lista''</b> 
: Ange fältavgränsare (standard är tabb).
 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'''
<b>-n</b> 
: Dela inte upp tecken. Används tillsammans med '''-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.


'''-s'''
<b>-s</b> 
: Hoppa över rader utan avgränsare. Används med '''-f'''.
 Undertryck rader utan avgränsartecken (används med -f).


== OPERANDER ==
== OPERANDER ==
'''FIL'''
<code>fil</code> 
: Sökväg till fil att läsa. Om inget anges eller '''-''', används standard in.
 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 ingen fil anges eller om fil är '''-'''.
Standard in används endast om inga filer anges eller om en fil är '-'. Se avsnittet INDATAFILER.


== INDATAFILER ==
== INDATAFILER ==
Indatafiler ska vara textfiler (utan radlängdsbegränsning).
Indatafiler ska vara textfiler, men radernas längd får vara obegränsad.


== MILJÖVARIABLER ==
== MILJÖVARIABLER ==
''LANG''
Följande miljövariabler påverkar körningen:
: Standardvärde för locale.
 
<code>LANG</code> 
 Anger standardvärden för internationalisering.


''LC_ALL''
<code>LC_ALL</code> 
: Överskrider alla andra locale-variabler.
 Åsidosätter alla andra internationaliseringsvariabler.


''LC_CTYPE''
<code>LC_CTYPE</code> 
: Tolkar tecken och bestämmer kolumnbredd.
 Styr tolkning av tecken (t.ex. multibyte).


''LC_MESSAGES''
<code>LC_MESSAGES</code> 
: Format och innehåll för felmeddelanden.
 Styr språk i felmeddelanden.


''NLSPATH''
<code>NLSPATH</code> 
: Sökväg till meddelandekataloger.
 Anger var meddelandekataloger finns för LC_MESSAGES.


== ASYNKRONA HÄNDELSER ==
== ASYNKRONA HÄNDELSER ==
Rad 61: Rad 72:


== STDOUT ==
== STDOUT ==
Utdata är de valda bytena, tecknen eller fälten från varje rad, följt av radslut.
cut skriver ut sammanfogade byte, tecken eller fält i följande format:
 
<code>"%s\n", <sammanfogade delar></code>


== STDERR ==
== STDERR ==
Används endast för diagnostik.
Standardfel används endast för felmeddelanden.


== UTDATAFILER ==
== UTDATAFILER ==
Inga.
Inga.


== UTÖKAD BESKRIVNING ==
== UTFÖRLIG BESKRIVNING ==
Ingen.
Ingen.


== AVSLUTNINGSSTATUS ==
== AVSLUTNINGSSTATUS ==
0 - Allt lyckades
<code>0</code> – Alla indatafiler kunde behandlas 
>0 - Ett fel inträffade
<code>>0</code> – Ett fel uppstod
 
== KONSEKVENSER AV FEL ==
Standard. 
''Följande avsnitt är informativa.''


== KONSEKVENSER VID FEL ==
== TILLÄMPNINGSTIPS ==
Standard.
* ''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:


== ANVÄNDNING ==
<code>
''cut'' och ''fold'' kan användas för att skapa textfiler från filer med godtyckliga radlängder. ''cut'' är bra när antalet rader måste bevaras. ''fold'' används när innehåll behöver hållas ihop.
cut -b 1-500 -n fil &gt; fil1 
cut -b 501- -n fil &gt; fil2
</code>


Exempel:
Ger exakt alla tecken i ursprungsfilen, uppdelade mellan fil1 och fil2 (båda behåller radbrytningar).
  cut -d : -f 1,6 /etc/passwd
Ger ut:
  användarnamn:hemsökväg


== EXEMPEL ==
== EXEMPEL ==
* '''1,4,7''' - Välj byte/tecken/fält 1, 4 och 7.
* '''1-3,8''' - Samma som 1,2,3,8
* '''-5,10''' - Samma som 1-5 och 10
* '''3-''' - Från 3 till slutet


Återskapa en fil:
<code>
  cut -b 1-500 -n fil > fil1
1,4,7      # första, fjärde och sjunde 
  cut -b 501- -n fil > fil2
1-3,8      # samma som 1,2,3,8 
  paste -d "\0" fil1 fil2 > fil
-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 &gt; fil1
cut -b 501- -n fil &gt; fil2
paste -d "\0" fil1 fil2 &gt; fil
</code>


== RATIONELL FÖRKLARING ==
== PRINCIPER ==
''cut'' räknar inte specialtecken som <backsteg> vid -c. Det är avsiktligt. ''fold'' behandlar dessa.
* 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:


Ursprungligen behandlades byte och tecken som samma. Med multibyte-tecken lades -b och -n till.
<code>
echo abcdefghi | cut -c6,2,4-7,1
</code>


Listan i '''-b''' eller '''-c''' påverkar inte ordning på utdata, endast vad som väljs.
Ger: `abdefg`
Ex:
  echo abcdefghi | cut -c6,2,4-7,1
ger '''abdefg'''


Ett förslag om '''-o''' (bevara ordning) avvisades för att det låg utanför POSIX-standardens scope.
Ett förslag att införa -o (för att behålla listans ordning) avslogs.


== FRAMTIDA FÖRÄNDRINGAR ==
== FRAMTIDA ÄNDRINGAR ==
Inga.
Inga planerade.


== SE ÄVEN ==
== SE ÄVEN ==
[[fold(1p)]], [[grep(1p)]], [[paste(1p)]], [[cut(1)]]
[[fold(1p)]], [[grep(1p)]], [[paste(1p)]]


Se även ''Section 2.5'', ''Parameters and Variables'', ''Chapter 8 Environment Variables'', och ''Utility Syntax Guidelines'' i POSIX.1-2017.
POSIX.1-2017, Kapitel 8 (Miljövariabler), Avsnitt 12.2 (Syntax för verktyg)


== COPYRIGHT ==
== COPYRIGHT ==
Denna manualtext är baserad på IEEE Std 1003.1-2017. Se originalet på:
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

fold(1p), grep(1p), paste(1p)

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.