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...')
 
 
(En mellanliggande sidversion av samma användare visas inte)
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''.


== FLAGGOR ==
Argumentet ''lista'' till flaggorna -b, -c och -f ska vara en kommaseparerad eller blankstegsseparerad lista av positiva tal och intervall. Exempel:
'''-b LISTA'''
* ''låg-hög'' — alla positioner från låg till hög
: Välj byte enligt angiven lista.
* ''-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.


'''-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.


''LC_ALL''
<code>LANG</code> 
: Överskrider alla andra locale-variabler.
 Anger standardvärden för internationalisering.


''LC_CTYPE''
<code>LC_ALL</code> 
: Tolkar tecken och bestämmer kolumnbredd.
 Åsidosätter alla andra internationaliseringsvariabler.


''LC_MESSAGES''
<code>LC_CTYPE</code> 
: Format och innehåll för felmeddelanden.
 Styr tolkning av tecken (t.ex. multibyte).


''NLSPATH''
<code>LC_MESSAGES</code> 
: Sökväg till meddelandekataloger.
 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 ==
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:


== RATIONELL FÖRKLARING ==
<code>
''cut'' räknar inte specialtecken som <backsteg> vid -c. Det är avsiktligt. ''fold'' behandlar dessa.
cut -d : -f 1,6 /etc/passwd
</code>


Ursprungligen behandlades byte och tecken som samma. Med multibyte-tecken lades -b och -n till.
Ger rader i format:


Listan i '''-b''' eller '''-c''' påverkar inte ordning på utdata, endast vad som väljs.
<code>
Ex:
användarnamn:hemdatakatalog
  echo abcdefghi | cut -c6,2,4-7,1
</code>
ger '''abdefg'''


Ett förslag om '''-o''' (bevara ordning) avvisades för att det låg utanför POSIX-standardens scope.
<code>
cut -b 1-500 -n fil &gt; fil1 
cut -b 501- -n fil &gt; fil2 
paste -d "\0" fil1 fil2 &gt; fil
</code>


== FRAMTIDA FÖRÄNDRINGAR ==
== PRINCIPER ==
Inga.
* 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 att införa -o (för att behålla listans ordning) avslogs.
 
== FRAMTIDA ÄNDRINGAR ==
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
 





Nuvarande version 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.