paste(1p): Skillnad mellan sidversioner
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) |
||
| Rad 232: | Rad 232: | ||
== Sidor som hänvisar till denna sida == | == Sidor som hänvisar till denna sida == | ||
* [[cut(1p)]] | * [[cut(1p)]] | ||
= Sidslut = | = Sidslut = | ||
Nuvarande version från 13 maj 2026 kl. 16.59
PROLOG
Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementationen av detta gränssnitt kan skilja sig åt; se motsvarande Linux-manualsida för detaljer om Linux-beteende. Gränssnittet kanske inte heller är implementerat på Linux.
NAMN
paste — slå samman motsvarande eller efterföljande rader i filer
SYNOPSIS
paste [-s] [-d lista] fil...
BESKRIVNING
Verktyget paste ska sammanfoga motsvarande rader från de angivna indatafilerna och skriva de resulterande raderna till standardutmatningen.
Standardbeteendet för paste är att sammanfoga motsvarande rader från indatafilerna. Radbrytningstecknet i varje rad, utom raden från den sista indatafilen, ska ersättas med ett tabulatortecken.
Om filslut upptäcks i en eller flera indatafiler, men inte i alla indatafiler, ska paste bete sig som om tomma rader lästes från de filer där filslut upptäcktes, om inte flaggan -s anges.
FLAGGOR
Verktyget paste ska följa Base Definitions-volymen av POSIX.1-2017, avsnitt 12.2, Utility Syntax Guidelines.
Följande flaggor ska stödjas:
-d lista
Om inget omvänt snedstreck förekommer i lista, är varje tecken i lista ett element som anger ett avgränsartecken. Om ett omvänt snedstreck förekommer i lista, utgör det omvända snedstrecket och ett eller flera efterföljande tecken ett element som anger ett avgränsartecken enligt beskrivningen nedan.
Dessa element anger en eller flera avgränsare som ska användas i stället för standardavgränsaren tabulatortecken, för att ersätta radbrytningstecken i indataraderna. Elementen i lista ska användas cirkulärt; det vill säga när listan är slut används det första elementet i listan igen.
När flaggan -s anges gäller följande:
- Det sista radbrytningstecknet i en fil ska inte ändras.
- Avgränsaren ska återställas till det första elementet i lista efter att varje fil-operand har behandlats.
När flaggan -s inte anges gäller följande:
- Radbrytningstecknen i filen som anges av den sista fil-operanden ska inte ändras.
- Avgränsaren ska återställas till det första elementet i lista varje gång en rad behandlas från varje fil.
Om ett omvänt snedstreck förekommer i lista, ska det och tecknet som följer användas för att representera följande avgränsartecken:
\n
Radbrytningstecken.
\t
Tabulatortecken.
\
Omvänt snedstreck.
\0
Tom sträng, inte ett nulltecken. Om \0 omedelbart följs av tecknet x, tecknet X eller något tecken som definieras av nyckelordet digit i LC_CTYPE, se Base Definitions-volymen av POSIX.1-2017, kapitel 7, Locale, är resultatet ospecificerat.
Om andra tecken följer efter det omvända snedstrecket är resultatet ospecificerat.
-s
Sammanfoga alla rader från varje indatafil till en utmatningsrad per fil, i kommandoradsordning. Radbrytningstecknet i varje rad, utom den sista raden i varje indatafil, ska ersättas med ett tabulatortecken, om inte annat anges med flaggan -d.
Om en indatafil är tom ska utmatningsraden som motsvarar den filen endast bestå av ett radbrytningstecken.
OPERANDER
Följande operand ska stödjas:
fil
En sökväg till en indatafil. Om - anges för en eller flera av filerna ska standardindata användas. Standardindata ska läsas en rad i taget, cirkulärt, för varje förekomst av -. Implementationer ska stödja inklistring av minst 12 fil-operander.
STDIN
Standardindata ska endast användas om en eller flera fil-operander är -. Se avsnittet INDATAFILER.
INDATAFILER
Indatafilerna ska vara textfiler, förutom att radlängder ska vara obegränsade.
MILJÖVARIABLER
Följande miljövariabler ska påverka körningen av paste:
LANG
Ger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma. Se Base Definitions-volymen av POSIX.1-2017, avsnitt 8.2, Internationalization Variables, för prioritetsordningen mellan internationaliseringsvariabler som används för att bestämma värdena för lokalkategorier.
LC_ALL
Om den är satt till ett icke-tomt strängvärde, åsidosätter den värdena för alla andra internationaliseringsvariabler.
LC_CTYPE
Bestämmer lokalen för tolkning av sekvenser av byte med textdata som tecken, till exempel enkelbyte- i motsats till flerbytetecken i argument och indatafiler.
LC_MESSAGES
Bestämmer den lokal som ska användas för att påverka format och innehåll i diagnostiska meddelanden som skrivs till standardfel.
NLSPATH
Bestämmer platsen för meddelandekataloger för behandling av LC_MESSAGES.
ASYNKRONA HÄNDELSER
Standard.
STDOUT
Sammanfogade rader från indatafiler ska separeras med tabulatortecken, eller andra tecken under kontroll av flaggan -d, och avslutas med ett radbrytningstecken.
STDERR
Standardfel ska endast användas för diagnostiska meddelanden.
UTDATAFILER
Inga.
UTÖKAD BESKRIVNING
Ingen.
SLUTSTATUS
Följande slutvärden ska returneras:
0
Slutfördes utan fel.
> 0
Ett fel inträffade.
FÖLJDER AV FEL
Om en eller flera indatafiler inte kan öppnas när flaggan -s inte anges, ska ett diagnostiskt meddelande skrivas till standardfel, men ingen utdata ska skrivas till standardutmatningen.
Om flaggan -s anges ska verktyget paste ge standardbeteendet som beskrivs i avsnitt 1.4, Utility Description Defaults.
Följande avsnitt är informativa.
PROGRAMANVÄNDNING
När escape-sekvenserna i flaggans argument lista används i ett skalskript måste de citeras. Annars behandlar skalet det omvända snedstrecket som ett specialtecken.
Program som följer standarden bör endast använda de specifika avgränsare med omvänt snedstreck som presenteras i denna volym av POSIX.1-2017. Historiska implementationer behandlar \x, där x inte finns i denna lista, som x, men framtida implementationer får utöka listan för att känna igen andra vanliga escape-sekvenser liknande dem som accepteras av printf och andra standardverktyg.
De flesta standardverktyg arbetar med textfiler. Verktyget cut kan användas för att göra filer med godtyckliga radlängder till en uppsättning textfiler som innehåller samma data. Verktyget paste kan användas för att skapa, eller återskapa, filer med godtyckliga radlängder.
Om till exempel fil innehåller långa rader:
cut -b 1-500 -n fil > fil1 cut -b 501- -n fil > fil2
skapas fil1, en textfil, med rader som inte är längre än 500 byte, plus radbrytningstecknet, och fil2 som innehåller resten av data från fil. Observera att fil2 inte är en textfil om det finns rader i fil som är längre än 500 + {LINE_MAX} byte.
Den ursprungliga filen kan återskapas från fil1 och fil2 med kommandot:
paste -d "\0" fil1 fil2 > fil
Kommandona:
paste -d "\0" ... paste -d "" ...
är inte nödvändigtvis likvärdiga. Det senare är inte specificerat av denna volym av POSIX.1-2017 och kan resultera i ett fel.
Konstruktionen \0 används för att betyda ”ingen avgränsare”, eftersom historiska versioner av paste inte följde syntaxriktlinjerna, och kommandot:
paste -d"" ...
inte kunde hanteras korrekt av getopt().
EXEMPEL
1. Skriv ut en katalog i fyra kolumner:
ls | paste - - - -
2. Kombinera par av rader från en fil till enskilda rader:
paste -s -d "\t\n" fil
BAKGRUND
Ingen.
FRAMTIDA RIKTNINGAR
Inga.
SE ÄVEN
Avsnitt 1.4, Utility Description Defaults, cut(1p), grep(1p), pr(1p)
Base Definitions-volymen av POSIX.1-2017, kapitel 7, Locale, kapitel 8, Environment Variables, avsnitt 12.2, Utility Syntax Guidelines
COPYRIGHT
Delar av denna text är återgivna och reproducerade i elektronisk form från IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group.
Vid eventuell avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden är den ursprungliga standarden det avgörande dokumentet. Den ursprungliga standarden kan hämtas online på:
http://www.opengroup.org/unix/online.html
Eventuella typografiska fel eller formateringsfel som förekommer på denna sida har troligen införts vid konverteringen av källfilerna till manualsidesformat. För att rapportera sådana fel, se:
https://www.kernel.org/doc/man-pages/reporting_bugs.html
IEEE/The Open Group 2017 PASTE(1P)
Sidor som hänvisar till denna sida
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/paste.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 Datorservice som har sponsrat Linux.se med webbhotell.