wc(1p)

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök

wc(1p) – Linux manualsida

Prolog

Den här manualsidan ä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

wc – räkna ord, rader och byte eller tecken.

Synopsis

wc [-c|-m] [-lw] [fil...]

Beskrivning

Verktyget wc ska läsa en eller flera indatafiler och som standard skriva antalet radbrytningstecken, ord och byte i varje indatafil till standardutmatning.

Verktyget ska också skriva en total summering för alla namngivna filer om mer än en indatafil anges.

Verktyget wc ska betrakta ett ord som en teckensträng med längd större än noll, avgränsad av blanktecken.

Flaggor

Verktyget wc ska följa POSIX.1-2017, Base Definitions, avsnitt 12.2, Utility Syntax Guidelines.

Följande flaggor ska stödjas:

-c
Skriv antalet byte i varje indatafil till standardutmatning.
-l
Skriv antalet radbrytningstecken i varje indatafil till standardutmatning.
-m
Skriv antalet tecken i varje indatafil till standardutmatning.
-w
Skriv antalet ord i varje indatafil till standardutmatning.

När någon flagga anges ska wc endast rapportera den information som begärs av de angivna flaggorna.

Operander

Följande operand ska stödjas:

fil
En sökväg till en indatafil.
Om inga fil-operander anges ska standardinmatning användas.

Standardinmatning

Standardinmatning ska användas om inga fil-operander anges.

Standardinmatning ska också användas om en fil-operand är - och implementationen behandlar - som standardinmatning.

I övriga fall ska standardinmatning inte användas. Se avsnittet Indatafiler.

Indatafiler

Indatafilerna kan vara av vilken typ som helst.

Miljövariabler

Följande miljövariabler ska påverka körningen av wc:

LANG
Anger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma.
Se POSIX.1-2017, Base Definitions, avsnitt 8.2, Internationalization Variables, för företrädesordningen för internationaliseringsvariabler som används för att bestämma värden för lokalkategorier.
LC_ALL
Om den är satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.
LC_CTYPE
Bestämmer lokalinställningen för tolkning av byteföljder i textdata som tecken, till exempel enkelbyte- jämfört med multibytetecken i argument och indatafiler, samt vilka tecken som definieras som blanktecken.
LC_MESSAGES
Bestämmer lokalinställningen som ska användas för att påverka formatet och innehållet i diagnostiska meddelanden som skrivs till standardfel och informativa meddelanden som skrivs till standardutmatning.
NLSPATH
Bestämmer platsen för meddelandekataloger vid bearbetning av LC_MESSAGES.

Asynkrona händelser

Standardbeteende.

Standardutmatning

Som standard ska standardutmatningen innehålla en post för varje indatafil i formen:

"%d %d %d %s\n", <radbrytningar>, <ord>, <byte>, <fil>

Om flaggan -m anges ska antalet tecken ersätta fältet byte i detta format.

Om några flaggor anges och flaggan -l inte anges, ska antalet radbrytningstecken inte skrivas.

Om några flaggor anges och flaggan -w inte anges, ska antalet ord inte skrivas.

Om några flaggor anges och varken -c eller -m anges, ska antalet byte eller tecken inte skrivas.

Om inga indataoperander av typen fil anges, ska inget namn skrivas och inga blanktecken före sökvägen skrivas.

Om mer än en indataoperand av typen fil anges, ska en extra rad skrivas i samma format som övriga rader, förutom att ordet total i POSIX-lokalen ska skrivas i stället för en sökväg, och summan av varje kolumn ska skrivas på lämpligt sätt.

Denna extra rad, om den finns, skrivs i slutet av utmatningen.

Standardfel

Standardfel ska endast användas för diagnostiska meddelanden.

Utdatafiler

Inga.

Utökad beskrivning

Ingen.

Avslutningsstatus

Följande avslutningsvärden ska returneras:

0
Lyckad körning.
>0
Ett fel inträffade.

Följder av fel

Standardbeteende.

Följande avsnitt är informativa.

Programanvändning

Flaggan -m är inte en växel som modifierar -c, utan en flagga på samma nivå som -c.

För att skapa fullständig standardutmatning med teckenräkning i stället för byte krävs därför kommandot:

wc -mlw

Exempel

Inga.

Bakgrund

Pseudosträngen för utdataformatet med printf() skiljer sig från System V-versionen av wc:

"%7d%7d%7d %s\n"

Det formatet kan ge tvetydiga och svårtolkade resultat för mycket stora filer, eftersom det förutsätter att inget tal överskrider sex siffror.

Vissa historiska implementationer använder endast mellanslag, tabb och radbrytning som ordavgränsare. Motsvarigheten till ISO C-standardens funktion isspace() är mer lämplig.

Flaggan -c står historiskt för ”character count”, alltså teckenräkning, även om den räknar byte. Detta kommer från den ibland felaktiga historiska uppfattningen att byte och tecken har samma storlek.

På grund av internationaliseringskrav lades flaggan -m till för att få faktiska teckenräkningar. Den associeras med ”multi-byte”.

Tidiga förslag specificerade endast resultat när indatafiler var textfiler. Den nuvarande specifikationen följer historisk praxis bättre: byte, ord och radbrytningstecken räknas separat och resultaten skrivs när filslut upptäcks.

Historiska implementationer av wc accepterade endast ett argument för att ange flaggorna -c, -l och -w.

Vissa av dem lät också flera förekomster av en flagga göra att motsvarande räkning skrevs flera gånger, och lät ordningen på flaggorna påverka ordningen på fälten i utmatningen, men detta dokumenterades inte.

Eftersom vanlig användning antingen inte anger några flaggor eller endast en flagga, och eftersom inget av detta var dokumenterat, bör ändringarna som krävs av POSIX.1-2017 inte bryta många historiska program och bryter inte några historiskt överensstämmande program.

Framtida riktning

Ingen.

Se även

  • cksum(1p)
  • POSIX.1-2017, Base Definitions, kapitel 8, Environment Variables
  • POSIX.1-2017, Base Definitions, avsnitt 12.2, Utility Syntax Guidelines

Upphovsrätt

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 © 2018 Institute of Electrical and Electronics Engineers, Inc. och The Open Group.

Vid avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden gäller den ursprungliga standarden som referensdokument.

Den ursprungliga standarden kan hämtas online från:

Eventuella typografiska fel eller formateringsfel på denna sida har troligen införts vid konverteringen av källfilerna till man-sideformat.

För att rapportera sådana fel, se:


Prolog

Den här manualsidan ä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

cal – skriv ut en kalender.

Synopsis

cal [[månad] år]

Beskrivning

Verktyget cal ska skriva en kalender till standardutmatning.

Det använder den julianska kalendern för datum från 1 januari år 1 till och med 2 september 1752, och den gregorianska kalendern för datum från 14 september 1752 till och med 31 december 9999, som om den gregorianska kalendern hade införts den 14 september 1752.

Om inga operander anges ska cal skapa en kalender för en månad: den aktuella månaden i det aktuella året.

Om endast operanden år anges ska cal skapa en kalender för alla tolv månader i det angivna kalenderåret.

Om både månad och år anges ska cal skapa en kalender för den angivna månaden i det angivna året.

Flaggor

Inga.

Operander

Följande operander ska stödjas:

månad
Anger månaden som ska visas, representerad som ett decimalt heltal från 1 till 12.
1 betyder januari och 12 betyder december.
år
Anger året som kalendern ska visas för, representerat som ett decimalt heltal från 1 till 9999.

Standardinmatning

Används inte.

Indatafiler

Inga.

Miljövariabler

Följande miljövariabler ska påverka körningen av cal:

LANG
Anger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma.
Se POSIX.1-2017, Base Definitions, avsnitt 8.2, Internationalization Variables, för företrädesordningen för internationaliseringsvariabler som används för att bestämma värden för lokalkategorier.
LC_ALL
Om den är satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.
LC_CTYPE
Bestämmer lokalinställningen för tolkning av byteföljder i textdata som tecken, till exempel enkelbyte- jämfört med multibytetecken i argument.
LC_MESSAGES
Bestämmer lokalinställningen som ska användas för att påverka formatet och innehållet i diagnostiska meddelanden som skrivs till standardfel, samt informativa meddelanden som skrivs till standardutmatning.
LC_TIME
Bestämmer kalenderns format och innehåll.
NLSPATH
Bestämmer platsen för meddelandekataloger vid bearbetning av LC_MESSAGES.
TZ
Bestämmer tidszonen som används för att beräkna värdet för den aktuella månaden.

Asynkrona händelser

Standardbeteende.

Standardutmatning

Standardutmatningen ska användas för att visa kalendern, i ett ospecificerat format.

Standardfel

Standardfel ska endast användas för diagnostiska meddelanden.

Utdatafiler

Inga.

Utökad beskrivning

Ingen.

Avslutningsstatus

Följande avslutningsvärden ska returneras:

0
Lyckad körning.
>0
Ett fel inträffade.

Följder av fel

Standardbeteende.

Följande avsnitt är informativa.

Programanvändning

Observera att:

cal 83

syftar på år 83 e.Kr., inte 1983.

Exempel

Inga.

Bakgrund

Tidigare versioner av denna standard krävde felaktigt att kommandot:

cal 2000

skulle skriva en enmånads kalender för den aktuella kalendermånaden, oavsett aktuellt år, i året 2000 till standardutmatning.

Detta stämde inte med historisk praxis i någon känd version av verktyget cal.

Beskrivningen har uppdaterats för att stämma med historisk praxis. När endast operanden år anges skriver cal en tolvmånaderskalender för det angivna året.

Framtida riktning

En framtida version av denna standard kan stödja lokalspecifik igenkänning av datumet då den gregorianska kalendern infördes.

Se även

  • POSIX.1-2017, Base Definitions, kapitel 8, Environment Variables

Upphovsrätt

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 © 2018 Institute of Electrical and Electronics Engineers, Inc. och The Open Group.

Vid avvikelse mellan denna version och den ursprungliga IEEE- och The Open Group-standarden gäller den ursprungliga standarden som referensdokument.

Den ursprungliga standarden kan hämtas online från:

Eventuella typografiska fel eller formateringsfel på denna sida har troligen införts vid konverteringen av källfilerna till man-sideformat.

För att rapportera sådana fel, se:

Sidslut

Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/wc.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 som har sponsrat Linux.se med webbhotell.